diff options
Diffstat (limited to 'patchtracker/SourceArchive.py')
-rwxr-xr-x | patchtracker/SourceArchive.py | 71 |
1 files changed, 2 insertions, 69 deletions
diff --git a/patchtracker/SourceArchive.py b/patchtracker/SourceArchive.py index 4ad4152..abeabbb 100755 --- a/patchtracker/SourceArchive.py +++ b/patchtracker/SourceArchive.py @@ -5,6 +5,7 @@ from gzip import GzipFile from debian_bundle import deb822 import patchtracker.Conf as Conf +from DiffGzHandler import DiffGzHandler class Archive: root = None @@ -27,8 +28,7 @@ class Archive: def sourcepackages(self, suite, component): sfile=os.sep.join([self.distsdir,suite,component,"/source/Sources.gz"]) for ent in deb822.Sources.iter_paragraphs(GzipFile(sfile)): - if fnmatch(ent['Package'], 'av*'): - yield SourcePackage(ent) + yield SourcePackage(ent) def __str__(self): return "Archive rooted at "+self.root @@ -40,8 +40,6 @@ class SourcePackage: loc = None type = "Native" version = None - seriespatches = {} - directpatches = [] # todo vcs = {} @@ -56,10 +54,6 @@ class SourcePackage: self.diffgz=f self.type = "Debian-diff" - if self.diffgz != None: - self.debianonlydiff = "_".join([self.name, self.version, "debianonly.diff"]) - self.nondebiandiff = "_".join([self.name, self.version, "nondebian.diff"]) - def idx(self): name = str(self) if len(name) < 4 or name[0:3] != "lib": @@ -67,67 +61,6 @@ class SourcePackage: else: return name[0:4] - ## XXX okay, all of this could be made quite a bit cleaner - def diff_series(self, outdir): - if self.diffgz: - debdiff = os.sep.join([outdir, self.debianonlydiff]) - seriesdir = os.sep.join([outdir, "series"]) - try: - os.mkdir(os.sep.join([outdir,"series"])) - except OSError, e: - if e.errno != errno.EEXIST: - raise e - # XXX better way to be idempotent - else: - return - os.system("filterdiff -p 1 -i 'debian/patches/*' "+debdiff+"| ( cd "+ - seriesdir+"; patch -s )") - for (blah,blahblah,files) in os.walk(seriesdir): - try: - files.remove('series') - files.remove('00list') - except: - pass - for f in files: - p = os.sep.join([seriesdir, f]) - # get the info for summary generation - fd = os.popen("diffstat "+p) - self.seriespatches[f] = fd.read() - fd.close() - os.system("source-highlight -s diff -f xhtml -i "+p+" -o "+p+".html") - - def diff_debiandir(self, outdir): - try: - src = os.sep.join([Conf.archive_root, self.loc, self.diffgz['name']]) - dst = os.sep.join([outdir, self.debianonlydiff]) - try: - os.stat(dst) - return - # XXX better way to be idempotent - except OSError, e: - pass - os.system("filterdiff -z -p 1 -i 'debian/*' "+src+" > "+dst) - os.system("source-highlight -s diff -f xhtml -i "+dst+" -o "+dst+".html") - # in the case of native packages there is no diffgz - except TypeError: - pass - - def diff_nondebiandir(self, outdir): - try: - src = os.sep.join([Conf.archive_root, self.loc, self.diffgz['name']]) - dst = os.sep.join([outdir, self.nondebiandiff]) - try: - os.stat(dst) - return - # XXX better way to be idempotent - except OSError, e: - pass - os.system("filterdiff -z -p 1 -x 'debian/*' "+src+" > "+dst) - os.system("source-highlight -s diff -f xhtml -i "+dst+" -o "+dst+".html") - # in the case of native packages there is no diffgz - except TypeError: - pass - def __str__(self): return self.name |