X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fcontents.py;h=99e9575d874d39ac0d4745b217ee529b2373037e;hb=630dbfaa38e128550375a2f284e09bf9465c2a7a;hp=23c160a3b1576ee57745269aaa3de7f12d3f8803;hpb=f312f4c7b63d193fa80ca45ff6bfb6114750fd63;p=dak.git diff --git a/dak/contents.py b/dak/contents.py index 23c160a3..99e9575d 100755 --- a/dak/contents.py +++ b/dak/contents.py @@ -48,6 +48,10 @@ from daklib import utils from daklib.binary import Binary from daklib.config import Config from daklib.dbconn import * +from daklib.contents import ContentsScanner +from daklib import daklog + +Logger = None ################################################################################ @@ -79,6 +83,9 @@ OPTIONS -s, --suite={stable,testing,unstable,...} only operate on a single suite + + -l, --limit=NUMBER + optional package limit for bootstrap_bin """ sys.exit(exit_code) @@ -267,12 +274,10 @@ class ContentFile(object): """ opens a gzip stream to the contents file """ -# filepath = Config()["Contents::Root"] + self.filename - self.filename = "/home/stew/contents/" + self.filename + filepath = Config()["Contents::Root"] + self.filename filedir = os.path.dirname(self.filename) if not os.path.isdir(filedir): os.makedirs(filedir) -# self.filehandle = gzip.open(self.filename, "w") self.filehandle = open(self.filename, "w") self._write_header() @@ -470,7 +475,7 @@ class Contents(object): Generate contents files for both deb and udeb """ self.deb_generate() -# self.udeb_generate() + self.udeb_generate() def deb_generate(self): """ @@ -596,8 +601,7 @@ class Contents(object): if Config().has_key( "%s::%s" %(options_prefix,"Suite")): suites = utils.split_args(Config()[ "%s::%s" %(options_prefix,"Suite")]) else: - suites = [ 'unstable', 'testing' ] -# suites = Config().SubTree("Suite").List() + suites = Config().SubTree("Suite").List() return suites @@ -624,6 +628,12 @@ class Contents(object): return arch_list +def scan_all(limit): + result = ContentsScanner.scan_all(limit) + processed = '%(processed)d packages processed' % result + remaining = '%(remaining)d packages remaining' % result + Logger.log([processed, remaining]) + ################################################################################ def main(): @@ -631,11 +641,12 @@ def main(): arguments = [('h',"help", "%s::%s" % (options_prefix,"Help")), ('s',"suite", "%s::%s" % (options_prefix,"Suite"),"HasArg"), + ('l',"limit", "%s::%s" % (options_prefix,"Limit"),"HasArg"), ('q',"quiet", "%s::%s" % (options_prefix,"Quiet")), ('v',"verbose", "%s::%s" % (options_prefix,"Verbose")), ] - commands = {'generate' : Contents.deb_generate, + commands = {'generate' : Contents.generate, 'bootstrap_bin' : Contents.bootstrap_bin, 'bootstrap' : Contents.bootstrap, 'cruft' : Contents.cruft, @@ -661,7 +672,19 @@ def main(): format='%(asctime)s %(levelname)s %(message)s', stream = sys.stderr ) - commands[args[0]](Contents()) + global Logger + Logger = daklog.Logger(cnf.Cnf, 'contents') + + limit = None + if cnf.has_key("%s::%s" % (options_prefix,"Limit")): + limit = cnf["%s::%s" % (options_prefix,"Limit")] + + if args[0] == 'bootstrap_bin': + scan_all(limit) + else: + commands[args[0]](Contents()) + + Logger.close() def which_suites(session): """