1 |
commit: 2e8a33214b5b2febebc95eddcb56a7412a6be5fa |
2 |
Author: Michał Górny <mgorny <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Jul 27 21:29:22 2011 +0000 |
4 |
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Jul 27 21:29:22 2011 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=2e8a3321 |
7 |
|
8 |
Support getting keywords off packages. |
9 |
|
10 |
--- |
11 |
gentoopm/basepm/pkg.py | 9 +++++++++ |
12 |
gentoopm/paludispm/pkg.py | 5 +++++ |
13 |
gentoopm/pkgcorepm/pkg.py | 4 ++++ |
14 |
gentoopm/portagepm/pkg.py | 4 ++++ |
15 |
4 files changed, 22 insertions(+), 0 deletions(-) |
16 |
|
17 |
diff --git a/gentoopm/basepm/pkg.py b/gentoopm/basepm/pkg.py |
18 |
index 9984df4..184533a 100644 |
19 |
--- a/gentoopm/basepm/pkg.py |
20 |
+++ b/gentoopm/basepm/pkg.py |
21 |
@@ -241,6 +241,15 @@ class PMPackage(PMAtom, FillMissingComparisons): |
22 |
""" |
23 |
pass |
24 |
|
25 |
+ @abstractproperty |
26 |
+ def keywords(self): |
27 |
+ """ |
28 |
+ Package keywords. |
29 |
+ |
30 |
+ @type: L{SpaceSepTuple} |
31 |
+ """ |
32 |
+ pass |
33 |
+ |
34 |
@property |
35 |
def environ(self): |
36 |
""" |
37 |
|
38 |
diff --git a/gentoopm/paludispm/pkg.py b/gentoopm/paludispm/pkg.py |
39 |
index 9d2a8e0..e9fadf2 100644 |
40 |
--- a/gentoopm/paludispm/pkg.py |
41 |
+++ b/gentoopm/paludispm/pkg.py |
42 |
@@ -105,6 +105,11 @@ class PaludisID(PMPackage, PaludisAtom): |
43 |
return SpaceSepTuple([str(x) for x in spec]) |
44 |
|
45 |
@property |
46 |
+ def keywords(self): |
47 |
+ kws = self._pkg.keywords_key().parse_value() |
48 |
+ return SpaceSepTuple([str(x) for x in kws]) |
49 |
+ |
50 |
+ @property |
51 |
def slot(self): |
52 |
k = self._pkg.slot_key() |
53 |
return str(k.parse_value()) |
54 |
|
55 |
diff --git a/gentoopm/pkgcorepm/pkg.py b/gentoopm/pkgcorepm/pkg.py |
56 |
index 3f5af2d..3bab71c 100644 |
57 |
--- a/gentoopm/pkgcorepm/pkg.py |
58 |
+++ b/gentoopm/pkgcorepm/pkg.py |
59 |
@@ -78,6 +78,10 @@ class PkgCorePackage(PMPackage, PkgCoreAtom): |
60 |
return SpaceSepTuple(self._pkg.homepage) |
61 |
|
62 |
@property |
63 |
+ def keywords(self): |
64 |
+ return SpaceSepTuple(self._pkg.keywords) |
65 |
+ |
66 |
+ @property |
67 |
def defined_phases(self): |
68 |
return SpaceSepTuple(self._pkg.defined_phases) |
69 |
|
70 |
|
71 |
diff --git a/gentoopm/portagepm/pkg.py b/gentoopm/portagepm/pkg.py |
72 |
index 7540756..c8eb91d 100644 |
73 |
--- a/gentoopm/portagepm/pkg.py |
74 |
+++ b/gentoopm/portagepm/pkg.py |
75 |
@@ -112,6 +112,10 @@ class PortageDBCPV(PMPackage, CompletePortageAtom): |
76 |
return SpaceSepTuple(self._aux_get('HOMEPAGE')) |
77 |
|
78 |
@property |
79 |
+ def keywords(self): |
80 |
+ return SpaceSepTuple(self._aux_get('KEYWORDS')) |
81 |
+ |
82 |
+ @property |
83 |
def slot(self): |
84 |
return self._aux_get('SLOT') |