#!/usr/bin/python import os import sys import getopt import errno import patchtracker.Conf as Conf from patchtracker.SourceArchive import Archive, SourcePackage from patchtracker.DB import PatchTrackerDB if __name__ == '__main__': db = PatchTrackerDB() os.system("cheetah compile templates/skeleton") opts,args = getopt.getopt(sys.argv[1:], "as:p:") suites = None packages = None update_archive = False for o,v in opts: if o == "-s": suites = v.split(',') elif o == "-p": packages = v.split(',') elif o == "-a": update_archive = True if update_archive: os.system("reprepro -b %s --confdir reprepro/conf update"% (Conf.archive_root,)) a = Archive(Conf.archive_root, suitefilter=suites, pkgfilter=packages) try: os.mkdir(Conf.output_dir) except OSError, e: if e.errno != errno.EEXIST: raise e print a for s in a.suites(filter=suites): print "suite: ",s db.saveSuite(s) for c in a.components(s): print "\tcomponent:",c db.saveComponent(c) for p in a.sourcepackages(s, c, filter=packages): print "\t\tpackage:",p db.saveSourcePackage(p) db.relateSourcePackage(name=p.name, version=p.version, suite=s, component=c) db.prune() db.unmark() db.finalize()