1 |
commit: 08e1a509346904e4ac6146511d1f5f342455e551 |
2 |
Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org> |
3 |
AuthorDate: Fri Jun 1 16:16:38 2012 +0000 |
4 |
Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua> |
5 |
CommitDate: Fri Jun 1 16:16:38 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=08e1a509 |
7 |
|
8 |
Add metadata access. |
9 |
|
10 |
--- |
11 |
gpackages/libs/porttree.py | 12 ++++++++++++ |
12 |
1 files changed, 12 insertions(+), 0 deletions(-) |
13 |
|
14 |
diff --git a/gpackages/libs/porttree.py b/gpackages/libs/porttree.py |
15 |
index d8b3da3..3faa150 100644 |
16 |
--- a/gpackages/libs/porttree.py |
17 |
+++ b/gpackages/libs/porttree.py |
18 |
@@ -5,6 +5,7 @@ from portage.exception import PortageException, FileNotFound, InvalidAtom, \ |
19 |
InvalidDependString, InvalidPackageName |
20 |
|
21 |
from gentoolkit.package import Package as PackageInfo |
22 |
+from gentoolkit.metadata import MetaData |
23 |
from datetime import datetime |
24 |
import hashlib |
25 |
import os |
26 |
@@ -163,6 +164,7 @@ class Package(ToStrMixin): |
27 |
def __init__(self, category, package): |
28 |
self.category = category |
29 |
self.package = package |
30 |
+ self._metadata = None |
31 |
|
32 |
def iter_ebuilds(self): |
33 |
ebuilds = PORTDB.cp_list(self.package, mytree=self.category.porttree.porttree) |
34 |
@@ -176,6 +178,12 @@ class Package(ToStrMixin): |
35 |
def package_path(self): |
36 |
return os.path.join(self.category.porttree.porttree_path, self.package) |
37 |
|
38 |
+ @property |
39 |
+ def metadata(self): |
40 |
+ if self._metadata is None: |
41 |
+ self._metadata = MetaData( self.metadata_path) |
42 |
+ return self._metadata |
43 |
+ |
44 |
mtime = property(_file_mtime("package_path")) |
45 |
|
46 |
@property |
47 |
@@ -184,12 +192,16 @@ class Package(ToStrMixin): |
48 |
|
49 |
manifest_path = property(_file_path('Manifest')) |
50 |
changelog_path = property(_file_path('ChangeLog')) |
51 |
+ metadata_path = property(_file_path('metadata.xml')) |
52 |
+ |
53 |
#Hashes |
54 |
manifest_sha1 = property(_file_hash('manifest_path')) |
55 |
changelog_sha1 = property(_file_hash('changelog_path')) |
56 |
+ metadata_sha1 = property(_file_hash('metadata_path')) |
57 |
# Modify times |
58 |
manifest_mtime = property(_file_mtime("manifest_path")) |
59 |
changelog_mtime = property(_file_mtime("changelog_path")) |
60 |
+ metadata_mtime = property(_file_mtime("metadata_path")) |
61 |
|
62 |
|
63 |
class Ebuild(ToStrMixin): |