]> git.decadent.org.uk Git - dak.git/blobdiff - dak/poolize.py
import dak.lib.foo as foo for library modules.
[dak.git] / dak / poolize.py
index 66eda7d8bc17043b05cd64e90a9a8bdd998127fd..36f1b6bf787634143f72defffc69e3c0303070fd 100755 (executable)
@@ -26,8 +26,9 @@
 ################################################################################
 
 import os, pg, re, stat, sys
-import dak.lib.utils, dak.lib.database
 import apt_pkg, apt_inst
+import dak.lib.database as database
+import dak.lib.utils as utils
 
 ################################################################################
 
@@ -71,7 +72,7 @@ def poolize (q, limit, verbose, no_action):
         legacy_filename = qid["path"]+qid["filename"]
         size = os.stat(legacy_filename)[stat.ST_SIZE]
         if (poolized_size + size) > limit and limit >= 0:
-            dak.lib.utils.warn("Hit %s limit." % (dak.lib.utils.size_type(limit)))
+            utils.warn("Hit %s limit." % (utils.size_type(limit)))
             break
         poolized_size += size
         poolized_count += 1
@@ -79,65 +80,65 @@ def poolize (q, limit, verbose, no_action):
         destination_filename = base_filename
         # Work out the source package name
         if re_isadeb.match(base_filename):
-            control = apt_pkg.ParseSection(apt_inst.debExtractControl(dak.lib.utils.open_file(legacy_filename)))
+            control = apt_pkg.ParseSection(apt_inst.debExtractControl(utils.open_file(legacy_filename)))
             package = control.Find("Package", "")
             source = control.Find("Source", package)
             if source.find("(") != -1:
-                m = dak.lib.utils.re_extract_src_version.match(source)
+                m = utils.re_extract_src_version.match(source)
                 source = m.group(1)
             # If it's a binary, we need to also rename the file to include the architecture
             version = control.Find("Version", "")
             architecture = control.Find("Architecture", "")
             if package == "" or version == "" or architecture == "":
-                dak.lib.utils.fubar("%s: couldn't determine required information to rename .deb file." % (legacy_filename))
-            version = dak.lib.utils.re_no_epoch.sub('', version)
+                utils.fubar("%s: couldn't determine required information to rename .deb file." % (legacy_filename))
+            version = utils.re_no_epoch.sub('', version)
             destination_filename = "%s_%s_%s.deb" % (package, version, architecture)
         else:
-            m = dak.lib.utils.re_issource.match(base_filename)
+            m = utils.re_issource.match(base_filename)
             if m:
                 source = m.group(1)
             else:
-                dak.lib.utils.fubar("expansion of source filename '%s' failed." % (legacy_filename))
+                utils.fubar("expansion of source filename '%s' failed." % (legacy_filename))
         # Work out the component name
         component = qid["component"]
         if component == "":
             q = projectB.query("SELECT DISTINCT(c.name) FROM override o, component c WHERE o.package = '%s' AND o.component = c.id;" % (source))
             ql = q.getresult()
             if not ql:
-                dak.lib.utils.fubar("No override match for '%s' so I can't work out the component." % (source))
+                utils.fubar("No override match for '%s' so I can't work out the component." % (source))
             if len(ql) > 1:
-                dak.lib.utils.fubar("Multiple override matches for '%s' so I can't work out the component." % (source))
+                utils.fubar("Multiple override matches for '%s' so I can't work out the component." % (source))
             component = ql[0][0]
         # Work out the new location
         q = projectB.query("SELECT l.id FROM location l, component c WHERE c.name = '%s' AND c.id = l.component AND l.type = 'pool';" % (component))
         ql = q.getresult()
         if len(ql) != 1:
-            dak.lib.utils.fubar("couldn't determine location ID for '%s'. [query returned %d matches, not 1 as expected]" % (source, len(ql)))
+            utils.fubar("couldn't determine location ID for '%s'. [query returned %d matches, not 1 as expected]" % (source, len(ql)))
         location_id = ql[0][0]
         # First move the files to the new location
-        pool_location = dak.lib.utils.poolify (source, component)
+        pool_location = utils.poolify (source, component)
         pool_filename = pool_location + destination_filename
         destination = Cnf["Dir::Pool"] + pool_location + destination_filename
         if os.path.exists(destination):
-            dak.lib.utils.fubar("'%s' already exists in the pool; serious FUBARity." % (legacy_filename))
+            utils.fubar("'%s' already exists in the pool; serious FUBARity." % (legacy_filename))
         if verbose:
             print "Moving: %s -> %s" % (legacy_filename, destination)
         if not no_action:
-            dak.lib.utils.move(legacy_filename, destination)
+            utils.move(legacy_filename, destination)
         # Then Update the DB's files table
         if verbose:
             print "SQL: UPDATE files SET filename = '%s', location = '%s' WHERE id = '%s'" % (pool_filename, location_id, qid["files_id"])
         if not no_action:
             q = projectB.query("UPDATE files SET filename = '%s', location = '%s' WHERE id = '%s'" % (pool_filename, location_id, qid["files_id"]))
 
-    sys.stderr.write("Poolized %s in %s files.\n" % (dak.lib.utils.size_type(poolized_size), poolized_count))
+    sys.stderr.write("Poolized %s in %s files.\n" % (utils.size_type(poolized_size), poolized_count))
 
 ################################################################################
 
 def main ():
     global Cnf, projectB
 
-    Cnf = dak.lib.utils.get_conf()
+    Cnf = utils.get_conf()
 
     for i in ["help", "limit", "no-action", "verbose" ]:
        if not Cnf.has_key("Poolize::Options::%s" % (i)):
@@ -156,7 +157,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)
 
     if not Options["Limit"]:
         limit = -1
@@ -169,7 +170,7 @@ def main ():
 
     # Sanity check the limit argument
     if limit > 0 and limit < 1024:
-        dak.lib.utils.fubar("-l/--limit takes an argument with a value in kilobytes.")
+        utils.fubar("-l/--limit takes an argument with a value in kilobytes.")
 
     # Grab a list of all files not already in the pool
     q = projectB.query("""