X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fcontents.py;h=5c33afa2f67f333e4ff1f3ee2b74e697338a4d5f;hb=c88f4328088bbc4697067e916383814b32ec23d2;hp=24146547e68828204e99b44b963acf81ea03ddf7;hpb=86a83b8dea9c683498bfb14e632d5e4e49dee7c1;p=dak.git diff --git a/dak/contents.py b/dak/contents.py index 24146547..5c33afa2 100755 --- a/dak/contents.py +++ b/dak/contents.py @@ -40,7 +40,7 @@ import apt_pkg from daklib.config import Config from daklib.dbconn import * -from daklib.contents import ContentsScanner +from daklib.contents import ContentsScanner, ContentsWriter from daklib import daklog from daklib import utils @@ -77,11 +77,26 @@ OPTIONS for scan def write_all(cnf, suite_names = [], force = None): Logger = daklog.Logger(cnf.Cnf, 'contents generate') - result = ContentsScanner.scan_all(limit) + ContentsWriter.write_all(suite_names, force) Logger.close() ################################################################################ +def write_helper(suite_name, argv): + session = DBConn().session() + suite = get_suite(suite_name, session) + architecture = get_architecture(argv[0], session) + debtype = get_override_type(argv[1], session) + if len(argv) == 3: + component = get_component(argv[2], session) + else: + component = None + session.rollback() + ContentsWriter(suite, architecture, debtype, component).write_file() + session.close() + +################################################################################ + def scan_all(cnf, limit): Logger = daklog.Logger(cnf.Cnf, 'contents scan') result = ContentsScanner.scan_all(limit) @@ -106,7 +121,7 @@ def main(): args = apt_pkg.ParseCommandLine(cnf.Cnf, arguments, sys.argv) options = cnf.SubTree('Contents::Options') - if (len(args) != 1) or options['Help']: + if (len(args) < 1) or options['Help']: usage() limit = None @@ -125,6 +140,10 @@ def main(): write_all(cnf, suite_names, force) return + if args[0] == 'generate_helper': + write_helper(suite_names[0], args[1:]) + return + usage()