1 |
commit: aba8a872b2e4c22ff726409ce6ca01162185cd1c |
2 |
Author: Michał Górny <mgorny <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Jul 28 19:55:21 2011 +0000 |
4 |
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Jul 28 19:55:21 2011 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=aba8a872 |
7 |
|
8 |
Paludis: use helper function for metadata gets. |
9 |
|
10 |
This should fix issues with empty *DEPEND as well. |
11 |
|
12 |
--- |
13 |
gentoopm/paludispm/pkg.py | 45 ++++++++++++++++++++++++--------------------- |
14 |
1 files changed, 24 insertions(+), 21 deletions(-) |
15 |
|
16 |
diff --git a/gentoopm/paludispm/pkg.py b/gentoopm/paludispm/pkg.py |
17 |
index 151cd92..368344c 100644 |
18 |
--- a/gentoopm/paludispm/pkg.py |
19 |
+++ b/gentoopm/paludispm/pkg.py |
20 |
@@ -74,10 +74,16 @@ class PaludisID(PMPackage, PaludisAtom): |
21 |
def version(self): |
22 |
return PaludisPackageVersion(self._pkg.version) |
23 |
|
24 |
+ def _get_meta(self, key): |
25 |
+ if isinstance(key, str): |
26 |
+ key = self._pkg.find_metadata(key) |
27 |
+ if key is None: |
28 |
+ return () |
29 |
+ return key.parse_value() |
30 |
+ |
31 |
@property |
32 |
def eapi(self): |
33 |
- k = self._pkg.find_metadata('EAPI') |
34 |
- return str(k.parse_value()) |
35 |
+ return str(self._get_meta('EAPI')) |
36 |
|
37 |
@property |
38 |
def description(self): |
39 |
@@ -85,35 +91,30 @@ class PaludisID(PMPackage, PaludisAtom): |
40 |
|
41 |
@property |
42 |
def inherits(self): |
43 |
- k = self._pkg.find_metadata('INHERITED') |
44 |
- if k is None: |
45 |
- return SpaceSepFrozenSet(()) |
46 |
- return SpaceSepFrozenSet(k.parse_value()) |
47 |
+ return SpaceSepFrozenSet(self._get_meta('INHERITED')) |
48 |
|
49 |
@property |
50 |
def defined_phases(self): |
51 |
- k = self._pkg.find_metadata('DEFINED_PHASES') |
52 |
- if k is None: |
53 |
+ ret = SpaceSepFrozenSet(self._get_meta('DEFINED_PHASES')) |
54 |
+ if not ret: |
55 |
return None |
56 |
- ret = SpaceSepFrozenSet(k.parse_value()) |
57 |
- if ret == ('-',): |
58 |
+ elif ret == ('-',): |
59 |
return SpaceSepFrozenSet(()) |
60 |
return ret |
61 |
|
62 |
@property |
63 |
def homepages(self): |
64 |
- spec = self._pkg.homepage_key().parse_value() |
65 |
+ spec = self._get_meta(self._pkg.homepage_key()) |
66 |
return SpaceSepTuple([str(x) for x in spec]) |
67 |
|
68 |
@property |
69 |
def keywords(self): |
70 |
- kws = self._pkg.keywords_key().parse_value() |
71 |
+ kws = self._get_meta(self._pkg.keywords_key()) |
72 |
return SpaceSepFrozenSet([str(x) for x in kws]) |
73 |
|
74 |
@property |
75 |
def slot(self): |
76 |
- k = self._pkg.slot_key() |
77 |
- return str(k.parse_value()) |
78 |
+ return str(self._get_meta(self._pkg.slot_key())) |
79 |
|
80 |
@property |
81 |
def repository(self): |
82 |
@@ -122,19 +123,19 @@ class PaludisID(PMPackage, PaludisAtom): |
83 |
@property |
84 |
def build_dependencies(self): |
85 |
return PaludisPackageDepSet( |
86 |
- self._pkg.build_dependencies_key().parse_value(), |
87 |
+ self._get_meta(self._pkg.build_dependencies_key()), |
88 |
self) |
89 |
|
90 |
@property |
91 |
def run_dependencies(self): |
92 |
return PaludisPackageDepSet( |
93 |
- self._pkg.run_dependencies_key().parse_value(), |
94 |
+ self._get_meta(self._pkg.run_dependencies_key()), |
95 |
self) |
96 |
|
97 |
@property |
98 |
def post_dependencies(self): |
99 |
return PaludisPackageDepSet( |
100 |
- self._pkg.post_dependencies_key().parse_value(), |
101 |
+ self._get_meta(self._pkg.post_dependencies_key()), |
102 |
self) |
103 |
|
104 |
@property |
105 |
@@ -142,12 +143,13 @@ class PaludisID(PMPackage, PaludisAtom): |
106 |
k = self._pkg.find_metadata('REQUIRED_USE') |
107 |
if k is None: |
108 |
return None |
109 |
- return PaludisPackageDepSet(k.parse_value(), self, |
110 |
- PMRequiredUseAtom) |
111 |
+ return PaludisPackageDepSet( |
112 |
+ self._get_meta('REQUIRED_USE'), |
113 |
+ self, PMRequiredUseAtom) |
114 |
|
115 |
@property |
116 |
def use(self): |
117 |
- iuse = self._pkg.find_metadata('IUSE').parse_value() |
118 |
+ iuse = self._get_meta('IUSE') |
119 |
return SpaceSepFrozenSet([PaludisUseFlag(x) for x in iuse]) |
120 |
|
121 |
@property |
122 |
@@ -172,7 +174,8 @@ class PaludisInstallableID(PaludisID, PMInstallablePackage): |
123 |
class PaludisInstalledID(PaludisID, PMInstalledPackage): |
124 |
@property |
125 |
def contents(self): |
126 |
- return PaludisPackageContents(self._pkg.contents_key().parse_value()) |
127 |
+ return PaludisPackageContents( |
128 |
+ self._get_meta(self._pkg.contents_key())) |
129 |
|
130 |
class PaludisMetadata(PMPackageMetadata): |
131 |
def __init__(self, pkg): |