1 |
commit: 20ce0df8e5a4a3a08973f595a900ef6f5309b28e |
2 |
Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org> |
3 |
AuthorDate: Wed Jun 6 21:32:40 2012 +0000 |
4 |
Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua> |
5 |
CommitDate: Wed Jun 6 21:32:40 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=20ce0df8 |
7 |
|
8 |
Changes in portage layer |
9 |
|
10 |
--- |
11 |
gpackages/apps/packages/scan.py | 1 - |
12 |
gpackages/libs/generic.py | 6 +++++- |
13 |
gpackages/libs/porttree.py | 20 ++++++++++++++------ |
14 |
3 files changed, 19 insertions(+), 8 deletions(-) |
15 |
|
16 |
diff --git a/gpackages/apps/packages/scan.py b/gpackages/apps/packages/scan.py |
17 |
index add62f1..f316900 100644 |
18 |
--- a/gpackages/apps/packages/scan.py |
19 |
+++ b/gpackages/apps/packages/scan.py |
20 |
@@ -330,7 +330,6 @@ def scanpackages(porttree, porttree_obj, delete = True, force_update = False): |
21 |
existend_packages.append(package_object.pk) |
22 |
if not package_created: |
23 |
if package_object.check_or_need_update(package) or force_update: |
24 |
- print package |
25 |
# need update |
26 |
update_package(package, package_object) |
27 |
else: |
28 |
|
29 |
diff --git a/gpackages/libs/generic.py b/gpackages/libs/generic.py |
30 |
index c3d8d2b..bc1cd55 100644 |
31 |
--- a/gpackages/libs/generic.py |
32 |
+++ b/gpackages/libs/generic.py |
33 |
@@ -2,8 +2,12 @@ import os.path |
34 |
import hashlib |
35 |
from datetime import datetime |
36 |
|
37 |
+__all__ = ('StrThatIgnoreCase', 'ToStrMixin', 'file_get_content', 'file_sha1', \ |
38 |
+ 'file_mtime', 'cached_property' ) |
39 |
+ |
40 |
class StrThatIgnoreCase(unicode): |
41 |
- |
42 |
+ __slots__ = ('_forcmp',) |
43 |
+ |
44 |
def __init__(self, value): |
45 |
super(StrThatIgnoreCase, self).__init__(value) |
46 |
self._forcmp = value.lower() |
47 |
|
48 |
diff --git a/gpackages/libs/porttree.py b/gpackages/libs/porttree.py |
49 |
index 5b1dba8..dec4867 100644 |
50 |
--- a/gpackages/libs/porttree.py |
51 |
+++ b/gpackages/libs/porttree.py |
52 |
@@ -6,6 +6,7 @@ from portage.exception import PortageException, FileNotFound, InvalidAtom, \ |
53 |
|
54 |
from gentoolkit.package import Package as PackageInfo |
55 |
from gentoolkit.metadata import MetaData |
56 |
+from gentoolkit import errors |
57 |
from generic import ToStrMixin, file_sha1, file_mtime, cached_property, \ |
58 |
file_get_content, StrThatIgnoreCase |
59 |
from use_info import get_uses_info, get_local_uses_info |
60 |
@@ -266,12 +267,9 @@ class Package(ToStrMixin): |
61 |
ebuilds = PORTDB.cp_list(self.package, |
62 |
mytree = self.category.porttree.porttree) |
63 |
for ebuild in ebuilds: |
64 |
- try: |
65 |
- PORTDB.aux_get(ebuild, [], mytree = self.category.porttree_path) |
66 |
- except KeyError: |
67 |
- pass |
68 |
- else: |
69 |
- yield Ebuild(self ,ebuild) |
70 |
+ ebuild_obj = Ebuild(self, ebuild) |
71 |
+ if ebuild_obj.is_valid: |
72 |
+ yield ebuild_obj |
73 |
|
74 |
def __unicode__(self): |
75 |
return '%s' % self.package |
76 |
@@ -345,6 +343,16 @@ class Ebuild(ToStrMixin): |
77 |
return self.package_object.environment("KEYWORDS", prefer_vdb = False) |
78 |
|
79 |
@property |
80 |
+ def is_valid(self): |
81 |
+ try: |
82 |
+ self.package_object.environment("EAPI") |
83 |
+ except errors.GentoolkitFatalError: |
84 |
+ return False |
85 |
+ else: |
86 |
+ return True |
87 |
+ |
88 |
+ |
89 |
+ @property |
90 |
def keywords(self): |
91 |
return list(set(self.keywords_env.split())) |