[Piuparts-commits] [SCM] piuparts git repository branch, develop, updated. 9bcbfe0fa48aba1da806fecfea79e3aa2d7bdb27
Andreas Beckmann
debian at abeckmann.de
Fri Dec 2 13:30:18 UTC 2011
The following commit has been merged in the develop branch:
commit ebd3974fbce6ac06e40f6d5b630752b64bfaac30
Author: Andreas Beckmann <debian at abeckmann.de>
Date: Mon Nov 21 15:17:44 2011 +0100
add Package.all_dependencies() method
add all_dependencies() method and corresponding helpers
returns list(list(package_name...)...)
Signed-off-by: Andreas Beckmann <debian at abeckmann.de>
diff --git a/piupartslib/packagesdb.py b/piupartslib/packagesdb.py
index 54bb6d6..dcd2b1a 100644
--- a/piupartslib/packagesdb.py
+++ b/piupartslib/packagesdb.py
@@ -54,6 +54,7 @@ class Package(UserDict.UserDict):
name, value = header.split(":", 1)
self[name.strip()] = value.strip()
self._parsed_deps = {}
+ self._parsed_alt_deps = {}
def _parse_dependencies(self, header_name):
if header_name in self._parsed_deps:
@@ -65,6 +66,17 @@ class Package(UserDict.UserDict):
self._parsed_deps[header_name] = depends
return depends
+ def _parse_alternative_dependencies(self, header_name):
+ if header_name in self._parsed_alt_deps:
+ depends = self._parsed_alt_deps[header_name]
+ else:
+ parser = DependencyParser(self[header_name])
+ depends = parser.get_dependencies()
+ depends = [[alt.name for alt in alternatives] for alternatives in depends]
+ self._parsed_alt_deps[header_name] = depends
+ return depends
+
+ # first alternative only - [package_name...]
def dependencies(self):
vlist = []
for header in ["Depends", "Pre-Depends"]:
@@ -72,6 +84,14 @@ class Package(UserDict.UserDict):
vlist += self._parse_dependencies(header)
return vlist
+ # all alternatives - [[package_name...]...]
+ def all_dependencies(self):
+ vlist = []
+ for header in ["Depends", "Pre-Depends"]:
+ if header in self:
+ vlist += self._parse_alternative_dependencies(header)
+ return vlist
+
def depends_with_alts(self, header_name):
vlist = []
if header_name in self:
--
piuparts git repository
More information about the Piuparts-commits
mailing list