1 |
commit: b3e5f8a85a2e4f74ff3e26e6b889c3e493bc0172 |
2 |
Author: Zac Medico <zmedico <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Jun 8 02:48:51 2013 +0000 |
4 |
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Jun 8 02:48:51 2013 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=b3e5f8a8 |
7 |
|
8 |
_iter_match_use: construct _pkg_str instances |
9 |
|
10 |
Now _match_use does not have to construct them itself. |
11 |
|
12 |
--- |
13 |
pym/portage/dbapi/__init__.py | 15 +++++++-------- |
14 |
1 file changed, 7 insertions(+), 8 deletions(-) |
15 |
|
16 |
diff --git a/pym/portage/dbapi/__init__.py b/pym/portage/dbapi/__init__.py |
17 |
index f954bad..6938bf1 100644 |
18 |
--- a/pym/portage/dbapi/__init__.py |
19 |
+++ b/pym/portage/dbapi/__init__.py |
20 |
@@ -193,18 +193,23 @@ class dbapi(object): |
21 |
except KeyError: |
22 |
continue |
23 |
|
24 |
+ try: |
25 |
+ cpv.slot |
26 |
+ except AttributeError: |
27 |
+ cpv = _pkg_str(cpv, metadata=metadata, settings=self.settings) |
28 |
+ |
29 |
if not self._match_use(atom, cpv, metadata): |
30 |
continue |
31 |
|
32 |
yield cpv |
33 |
|
34 |
- def _match_use(self, atom, cpv, metadata): |
35 |
+ def _match_use(self, atom, pkg, metadata): |
36 |
eapi_attrs = _get_eapi_attrs(metadata["EAPI"]) |
37 |
if eapi_attrs.iuse_effective: |
38 |
iuse_implicit_match = self.settings._iuse_effective_match |
39 |
else: |
40 |
iuse_implicit_match = self.settings._iuse_implicit_match |
41 |
- usealiases = self.settings._use_manager.getUseAliases(self._pkg_str(cpv, metadata["repository"])) |
42 |
+ usealiases = self.settings._use_manager.getUseAliases(pkg) |
43 |
iuse = Package._iuse(None, metadata["IUSE"].split(), iuse_implicit_match, usealiases, metadata["EAPI"]) |
44 |
|
45 |
for x in atom.unevaluated_atom.use.required: |
46 |
@@ -245,12 +250,6 @@ class dbapi(object): |
47 |
|
48 |
elif not self.settings.local_config: |
49 |
# Check masked and forced flags for repoman. |
50 |
- try: |
51 |
- cpv.slot |
52 |
- except AttributeError: |
53 |
- pkg = _pkg_str(cpv, metadata=metadata, settings=self.settings) |
54 |
- else: |
55 |
- pkg = cpv |
56 |
usemask = self.settings._getUseMask(pkg, |
57 |
stable=self.settings._parent_stable) |
58 |
if any(x in usemask for x in atom.use.enabled): |