From a17825f498f1e9604b0a496d163e041e7ef082b3 Mon Sep 17 00:00:00 2001 From: Sean Finney Date: Mon, 9 Jun 2008 22:02:21 +0200 Subject: add cmdline opts for selective pkg/suite processing --- patchtracker/SourceArchive.py | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'patchtracker/SourceArchive.py') diff --git a/patchtracker/SourceArchive.py b/patchtracker/SourceArchive.py index abeabbb..5afcd10 100755 --- a/patchtracker/SourceArchive.py +++ b/patchtracker/SourceArchive.py @@ -15,9 +15,16 @@ class Archive: self.root = dir self.distsdir = os.sep.join([dir, "dists"]) - def suites(self): + def suites(self, filter=None): for s in os.listdir(self.distsdir): - yield s + if not filter: + yield s + else: + try: + filter.index(s) + yield s + except: + pass def components(self, suite): f = file(self.distsdir + os.sep + os.sep.join([suite, "Release"])) @@ -25,10 +32,17 @@ class Archive: for comp in rel['Components'].split(' '): yield comp - def sourcepackages(self, suite, component): + def sourcepackages(self, suite, component, filter=None): sfile=os.sep.join([self.distsdir,suite,component,"/source/Sources.gz"]) for ent in deb822.Sources.iter_paragraphs(GzipFile(sfile)): - yield SourcePackage(ent) + if not filter: + yield SourcePackage(ent) + else: + try: + filter.index(ent['Package']) + yield SourcePackage(ent) + except: + pass def __str__(self): return "Archive rooted at "+self.root -- cgit v1.2.3