]> git.decadent.org.uk Git - dak.git/blobdiff - dak/make_maintainers.py
lotsa files
[dak.git] / dak / make_maintainers.py
index f60c19b751b0317082626f4bbb47a7357273520c..913537500c47688e8cbe53275f8c69d45fd63e8b 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 
-# Generate Maintainers file used by e.g. the Debian Bug Tracking System
+""" Generate Maintainers file used by e.g. the Debian Bug Tracking System """
 # Copyright (C) 2000, 2001, 2002, 2003, 2004, 2006  James Troup <james@nocrew.org>
 
 # This program is free software; you can redistribute it and/or modify
 ################################################################################
 
 import pg, sys
-import dak.lib.database, dak.lib.utils
 import apt_pkg
+from daklib import database
+from daklib import utils
+from daklib.regexes import re_comments
 
 ################################################################################
 
@@ -53,12 +55,12 @@ def fix_maintainer (maintainer):
     global fixed_maintainer_cache
 
     if not fixed_maintainer_cache.has_key(maintainer):
-        fixed_maintainer_cache[maintainer] = dak.lib.utils.fix_maintainer(maintainer)[0]
+        fixed_maintainer_cache[maintainer] = utils.fix_maintainer(maintainer)[0]
 
     return fixed_maintainer_cache[maintainer]
 
 def get_maintainer (maintainer):
-    return fix_maintainer(dak.lib.database.get_maintainer(maintainer))
+    return fix_maintainer(database.get_maintainer(maintainer))
 
 def get_maintainer_from_source (source_id):
     global maintainer_from_source_cache
@@ -75,11 +77,11 @@ def get_maintainer_from_source (source_id):
 def main():
     global Cnf, projectB
 
-    Cnf = dak.lib.utils.get_conf()
+    Cnf = utils.get_conf()
 
     Arguments = [('h',"help","Make-Maintainers::Options::Help")]
     if not Cnf.has_key("Make-Maintainers::Options::Help"):
-       Cnf["Make-Maintainers::Options::Help"] = ""
+        Cnf["Make-Maintainers::Options::Help"] = ""
 
     extra_files = apt_pkg.ParseCommandLine(Cnf,Arguments,sys.argv)
     Options = Cnf.SubTree("Make-Maintainers::Options")
@@ -88,7 +90,7 @@ def main():
         usage()
 
     projectB = pg.connect(Cnf["DB::Name"], Cnf["DB::Host"], int(Cnf["DB::Port"]))
-    dak.lib.database.init(Cnf, projectB)
+    database.init(Cnf, projectB)
 
     for suite in Cnf.SubTree("Suite").List():
         suite = suite.lower()
@@ -127,18 +129,18 @@ def main():
             else:
                 packages[package] = { "maintainer": maintainer, "priority": suite_priority, "version": version }
 
-    # Process any additional Maintainer files (e.g. from non-US or pseudo packages)
+    # Process any additional Maintainer files (e.g. from pseudo packages)
     for filename in extra_files:
-        file = dak.lib.utils.open_file(filename)
-        for line in file.readlines():
-            line = dak.lib.utils.re_comments.sub('', line).strip()
+        extrafile = utils.open_file(filename)
+        for line in extrafile.readlines():
+            line = re_comments.sub('', line).strip()
             if line == "":
                 continue
             split = line.split()
             lhs = split[0]
             maintainer = fix_maintainer(" ".join(split[1:]))
             if lhs.find('~') != -1:
-                (package, version) = lhs.split('~')
+                (package, version) = lhs.split('~', 1)
             else:
                 package = lhs
                 version = '*'
@@ -146,7 +148,7 @@ def main():
             if not packages.has_key(package) or version == '*' \
                or apt_pkg.VersionCompare(packages[package]["version"], version) < 0:
                 packages[package] = { "maintainer": maintainer, "version": version }
-        file.close()
+        extrafile.close()
 
     package_keys = packages.keys()
     package_keys.sort()
@@ -158,4 +160,3 @@ def main():
 
 if __name__ == '__main__':
     main()
-