Gentoo Archives: gentoo-commits

From: Slava Bacherikov <slava@××××××××××××××.ua>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/libs/
Date: Fri, 01 Jun 2012 21:29:12
Message-Id: 1338567398.08e1a509346904e4ac6146511d1f5f342455e551.bacher09@gentoo
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):