]> err.no Git - dak/commitdiff
Did a few style fixes. Moved determine_new and friends into daklib/queue. Removed...
authorJoerg Jaspert <joerg@debian.org>
Sun, 30 Dec 2007 21:52:12 +0000 (22:52 +0100)
committerJoerg Jaspert <joerg@debian.org>
Sun, 30 Dec 2007 21:52:12 +0000 (22:52 +0100)
ChangeLog
dak/examine_package.py
dak/process_new.py
dak/show_new.py
daklib/queue.py [changed mode: 0644->0755]
daklib/utils.py

index a3d333e1b9ac92a2378131107c7743cce261f114..614f4037baa8f64dd54d0a2812e72ba50f9c4ce6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,8 @@
 2007-12-30  Joerg Jaspert  <joerg@debian.org>
 
-       * dak/dak.py (init): add show-new
+       * dak/dak.py (init): add show-new. This is based on a patch
+       submitted by Thomas Viehmann in Bug #408318, but large parts of
+       handling it are rewritten and show-new is done by me.
 
        * dak/queue_report.py (table_row): Add link to generated html page
        for NEW package.
@@ -26,6 +28,7 @@
        (do_lintian): new function
        (check_deb): use it
        (output_deb_info): Use print_escaped_text, not print_formatted_text.
+       Also import daklib.queue, determine_new now lives there
 
        Also add a variable to see if we want html output. Default is
        disabled, show_new enables it for its use.
@@ -38,7 +41,7 @@
        (check_valid): Moved out of here.
        (get_type): Moved out of here.
 
-       * daklib/utils.py (determine_new): Moved here.
+       * daklib/queue.py (determine_new): Moved here.
        (check_valid): Moved here.
        (get_type): Moved here.
 
index 2ac4744d6a64ec19d083ab2f4fe3bcbb6f4c1e79..0b8a44222a4494704fd64a503222ace16feede92 100755 (executable)
@@ -32,9 +32,9 @@
 
 ################################################################################
 
-import errno, os, pg, re, sys, md5, time
+import errno, os, pg, re, sys, md5
 import apt_pkg, apt_inst
-import daklib.database, daklib.utils
+import daklib.database, daklib.utils, daklib.queue
 
 ################################################################################
 
@@ -99,7 +99,7 @@ def escape_if_needed(s):
   
 def headline(s, level=2):
   if use_html:
-    print "<h%d>%s</h%d>" % (level,html_escape(s),level)
+    print "<h%d>%s</h%d>" % (level, html_escape(s), level)
   else:
     print "---- %s ----" % (s)
 
@@ -462,7 +462,7 @@ def main ():
 #    Cnf = daklib.utils.get_conf()
 
     Arguments = [('h',"help","Examine-Package::Options::Help"),
-                 ('H',"Html-output","Examine-Package::Options::Html-Output"),
+                 ('H',"html-output","Examine-Package::Options::Html-Output"),
                 ]
     for i in [ "Help", "Html-Output", "partial-html" ]:
        if not Cnf.has_key("Examine-Package::Options::%s" % (i)):
index 9ffbd6704ec7ad66099df473b5267979d232750e..69cd83684a989c933fa4138c4e5398d39c08d1d1 100755 (executable)
@@ -621,7 +621,7 @@ def do_new():
     done = 0
     while not done:
         # Find out what's new
-        new = daklib.utils.determine_new(changes, files, projectB)
+        new = daklib.queue.determine_new(changes, files, projectB)
 
         if not new:
             break
index 895defadb8f71519cd9fa0a152f8b9cf65b25a22..d6bd7ae16b87d10d9647191c9739c7e4a1d05840 100755 (executable)
@@ -25,8 +25,8 @@
 
 ################################################################################
 
-import copy, errno, os, stat, sys, time
-import apt_pkg, apt_inst
+import copy, os, sys, time
+import apt_pkg
 import examine_package
 import daklib.database
 import daklib.queue 
@@ -106,7 +106,7 @@ def do_pkg(changes_file):
     changes["suite"] = copy.copy(changes["distribution"])
 
     # Find out what's new
-    new = daklib.utils.determine_new(changes, files, projectB, 0)
+    new = daklib.queue.determine_new(changes, files, projectB, 0)
 
     stdout_fd = sys.stdout
 
old mode 100644 (file)
new mode 100755 (executable)
index 6e1f389..05cd0be
@@ -32,6 +32,109 @@ re_default_answer = re.compile(r"\[(.*)\]")
 re_fdnic = re.compile(r"\n\n")
 re_bin_only_nmu = re.compile(r"\+b\d+$")
 
+################################################################################
+
+# Determine what parts in a .changes are NEW
+
+def determine_new(changes, files, projectB, warn=1):
+    new = {}
+
+    # Build up a list of potentially new things
+    for file in files.keys():
+        f = files[file]
+        # Skip byhand elements
+        if f["type"] == "byhand":
+            continue
+        pkg = f["package"]
+        priority = f["priority"]
+        section = f["section"]
+        type = get_type(f)
+        component = f["component"]
+
+        if type == "dsc":
+            priority = "source"
+        if not new.has_key(pkg):
+            new[pkg] = {}
+            new[pkg]["priority"] = priority
+            new[pkg]["section"] = section
+            new[pkg]["type"] = type
+            new[pkg]["component"] = component
+            new[pkg]["files"] = []
+        else:
+            old_type = new[pkg]["type"]
+            if old_type != type:
+                # source gets trumped by deb or udeb
+                if old_type == "dsc":
+                    new[pkg]["priority"] = priority
+                    new[pkg]["section"] = section
+                    new[pkg]["type"] = type
+                    new[pkg]["component"] = component
+        new[pkg]["files"].append(file)
+        if f.has_key("othercomponents"):
+            new[pkg]["othercomponents"] = f["othercomponents"]
+
+    for suite in changes["suite"].keys():
+        suite_id = database.get_suite_id(suite)
+        for pkg in new.keys():
+            component_id = database.get_component_id(new[pkg]["component"])
+            type_id = database.get_override_type_id(new[pkg]["type"])
+            q = projectB.query("SELECT package FROM override WHERE package = '%s' AND suite = %s AND component = %s AND type = %s" % (pkg, suite_id, component_id, type_id))
+            ql = q.getresult()
+            if ql:
+                for file in new[pkg]["files"]:
+                    if files[file].has_key("new"):
+                        del files[file]["new"]
+                del new[pkg]
+
+    if warn:
+        if changes["suite"].has_key("stable"):
+            print "WARNING: overrides will be added for stable!"
+            if changes["suite"].has_key("oldstable"):
+                print "WARNING: overrides will be added for OLDstable!"
+        for pkg in new.keys():
+            if new[pkg].has_key("othercomponents"):
+                print "WARNING: %s already present in %s distribution." % (pkg, new[pkg]["othercomponents"])
+
+    return new
+
+################################################################################
+
+def get_type(f):
+    # Determine the type
+    if f.has_key("dbtype"):
+        type = f["dbtype"]
+    elif f["type"] in [ "orig.tar.gz", "orig.tar.bz2", "tar.gz", "tar.bz2", "diff.gz", "diff.bz2", "dsc" ]:
+        type = "dsc"
+    else:
+        fubar("invalid type (%s) for new.  Dazed, confused and sure as heck not continuing." % (type))
+
+    # Validate the override type
+    type_id = database.get_override_type_id(type)
+    if type_id == -1:
+        fubar("invalid type (%s) for new.  Say wha?" % (type))
+
+    return type
+
+################################################################################
+
+# check if section/priority values are valid
+
+def check_valid(new):
+    for pkg in new.keys():
+        section = new[pkg]["section"]
+        priority = new[pkg]["priority"]
+        type = new[pkg]["type"]
+        new[pkg]["section id"] = database.get_section_id(section)
+        new[pkg]["priority id"] = database.get_priority_id(new[pkg]["priority"])
+        # Sanity checks
+        di = section.find("debian-installer") != -1
+        if (di and type != "udeb") or (not di and type == "udeb"):
+            new[pkg]["section id"] = -1
+        if (priority == "source" and type != "dsc") or \
+           (priority != "source" and type == "dsc"):
+            new[pkg]["priority id"] = -1
+
+
 ###############################################################################
 
 # Convenience wrapper to carry around all the package information in
index 8f9084d137483417ffd5155f6158b1598c17ab74..c6eeac2f22ba2c18df1eeb0f65c5669216839e1a 100755 (executable)
@@ -227,108 +227,6 @@ The rules for (signing_rules == 1)-mode are:
 
 ################################################################################
 
-# Determine what parts in a .changes are NEW
-
-def determine_new (changes, files, projectB, warn=1):
-    new = {}
-
-    # Build up a list of potentially new things
-    for file in files.keys():
-        f = files[file]
-        # Skip byhand elements
-        if f["type"] == "byhand":
-            continue
-        pkg = f["package"]
-        priority = f["priority"]
-        section = f["section"]
-        type = get_type(f)
-        component = f["component"]
-
-        if type == "dsc":
-            priority = "source"
-        if not new.has_key(pkg):
-            new[pkg] = {}
-            new[pkg]["priority"] = priority
-            new[pkg]["section"] = section
-            new[pkg]["type"] = type
-            new[pkg]["component"] = component
-            new[pkg]["files"] = []
-        else:
-            old_type = new[pkg]["type"]
-            if old_type != type:
-                # source gets trumped by deb or udeb
-                if old_type == "dsc":
-                    new[pkg]["priority"] = priority
-                    new[pkg]["section"] = section
-                    new[pkg]["type"] = type
-                    new[pkg]["component"] = component
-        new[pkg]["files"].append(file)
-        if f.has_key("othercomponents"):
-            new[pkg]["othercomponents"] = f["othercomponents"]
-
-    for suite in changes["suite"].keys():
-        suite_id = database.get_suite_id(suite)
-        for pkg in new.keys():
-            component_id = database.get_component_id(new[pkg]["component"])
-            type_id = database.get_override_type_id(new[pkg]["type"])
-            q = projectB.query("SELECT package FROM override WHERE package = '%s' AND suite = %s AND component = %s AND type = %s" % (pkg, suite_id, component_id, type_id))
-            ql = q.getresult()
-            if ql:
-                for file in new[pkg]["files"]:
-                    if files[file].has_key("new"):
-                        del files[file]["new"]
-                del new[pkg]
-
-    if warn:
-        if changes["suite"].has_key("stable"):
-            print "WARNING: overrides will be added for stable!"
-            if changes["suite"].has_key("oldstable"):
-                print "WARNING: overrides will be added for OLDstable!"
-        for pkg in new.keys():
-            if new[pkg].has_key("othercomponents"):
-                print "WARNING: %s already present in %s distribution." % (pkg, new[pkg]["othercomponents"])
-
-    return new
-
-################################################################################
-
-def get_type (f):
-    # Determine the type
-    if f.has_key("dbtype"):
-        type = f["dbtype"]
-    elif f["type"] in [ "orig.tar.gz", "orig.tar.bz2", "tar.gz", "tar.bz2", "diff.gz", "diff.bz2", "dsc" ]:
-        type = "dsc"
-    else:
-        fubar("invalid type (%s) for new.  Dazed, confused and sure as heck not continuing." % (type))
-
-    # Validate the override type
-    type_id = database.get_override_type_id(type)
-    if type_id == -1:
-        fubar("invalid type (%s) for new.  Say wha?" % (type))
-
-    return type
-
-################################################################################
-
-# check if section/priority values are valid
-
-def check_valid (new):
-    for pkg in new.keys():
-        section = new[pkg]["section"]
-        priority = new[pkg]["priority"]
-        type = new[pkg]["type"]
-        new[pkg]["section id"] = database.get_section_id(section)
-        new[pkg]["priority id"] = database.get_priority_id(new[pkg]["priority"])
-        # Sanity checks
-        di = section.find("debian-installer") != -1
-        if (di and type != "udeb") or (not di and type == "udeb"):
-            new[pkg]["section id"] = -1
-        if (priority == "source" and type != "dsc") or \
-           (priority != "source" and type == "dsc"):
-            new[pkg]["priority id"] = -1
-
-################################################################################
-
 # Dropped support for 1.4 and ``buggy dchanges 3.4'' (?!) compared to di.pl
 
 def build_file_list(changes, is_a_dsc=0):