]> git.decadent.org.uk Git - dak.git/commitdiff
Add an option to reverse sorting of binary-NEW packages
authorLuca Falavigna <dktrkranz@debian.org>
Sun, 10 Oct 2010 21:07:19 +0000 (21:07 +0000)
committerLuca Falavigna <dktrkranz@debian.org>
Mon, 11 Oct 2010 08:40:19 +0000 (08:40 +0000)
Signed-off-by: Luca Falavigna <dktrkranz@debian.org>
dak/process_new.py
daklib/changesutils.py

index a7cfb94e3066295e488231694bc3510dcec0f4dc..fb3fdb63678cc615d5cf470913b34078f43b65ee 100755 (executable)
@@ -516,6 +516,7 @@ def do_new(upload, session):
 def usage (exit_code=0):
     print """Usage: dak process-new [OPTION]... [CHANGES]...
   -a, --automatic           automatic run
+  -b, --no-binaries         do not sort binary-NEW packages first
   -h, --help                show this help and exit.
   -m, --manual-reject=MSG   manual reject with `msg'
   -n, --no-action           don't do anything
@@ -730,12 +731,13 @@ def main():
     session = DBConn().session()
 
     Arguments = [('a',"automatic","Process-New::Options::Automatic"),
+                 ('b',"no-binaries","Process-New::Options::Binaries"),
                  ('h',"help","Process-New::Options::Help"),
                  ('m',"manual-reject","Process-New::Options::Manual-Reject", "HasArg"),
                  ('t',"trainee","Process-New::Options::Trainee"),
                  ('n',"no-action","Process-New::Options::No-Action")]
 
-    for i in ["automatic", "help", "manual-reject", "no-action", "version", "trainee"]:
+    for i in ["automatic", "no-binaries", "help", "manual-reject", "no-action", "version", "trainee"]:
         if not cnf.has_key("Process-New::Options::%s" % (i)):
             cnf["Process-New::Options::%s" % (i)] = ""
 
@@ -763,7 +765,7 @@ def main():
 
     if len(changes_paths) > 1:
         sys.stderr.write("Sorting changes...\n")
-    changes_files = sort_changes(changes_paths, session)
+    changes_files = sort_changes(changes_paths, session, Options["Binaries"])
 
     for changes_file in changes_files:
         changes_file = utils.validate_changes_file_arg(changes_file, 0)
index 35b3d57be454634dac1fc45a29c2d3e380fc0903..b268add58810c7e7242d09ca72c04eb769ef753a 100644 (file)
@@ -84,7 +84,7 @@ def sg_compare (a, b):
 
 __all__.append('sg_compare')
 
-def sort_changes(changes_files, session):
+def sort_changes(changes_files, session, binaries = None):
     """Sort into source groups, then sort each source group by version,
     have source, filename.  Finally, sort the source groups by have
     note, time of oldest upload of each source upload."""
@@ -116,7 +116,7 @@ def sort_changes(changes_files, session):
     # Determine oldest time and have note status for each source group
     for source in per_source.keys():
         q = session.query(DBSource).filter_by(source = source).all()
-        per_source[source]["source_in_database"] = len(q)>0
+        per_source[source]["source_in_database"] = binaries and -(len(q)>0) or len(q)>0
         source_list = per_source[source]["list"]
         first = source_list[0]
         oldest = os.stat(first["filename"])[stat.ST_MTIME]