Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/gentoopm:master commit in: gentoopm/paludispm/
Date: Thu, 28 Jul 2011 19:54:56
Message-Id: aba8a872b2e4c22ff726409ce6ca01162185cd1c.mgorny@gentoo
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):