]> git.decadent.org.uk Git - dak.git/blobdiff - dak/dak.py
move show-deferred to dak
[dak.git] / dak / dak.py
index 6f1ac6a6a72e5d37d7fcb4c47f4e4a17e5db801f..c987c1e708601db9442b8ac9d1ba240915bc9f05 100755 (executable)
 ################################################################################
 
 import sys, imp
-import daklib.utils
+import daklib.utils, daklib.extensions
 
 ################################################################################
 
 class UserExtension:
     def __init__(self, user_extension = None):
         if user_extension:
-           m = imp.load_source("dak_userext", user_extension)
-           d = m.__dict__
+            m = imp.load_source("dak_userext", user_extension)
+            d = m.__dict__
         else:
             m, d = None, {}
-       self.__dict__["_module"] = m
-       self.__dict__["_d"] = d
+        self.__dict__["_module"] = m
+        self.__dict__["_d"] = d
 
     def __getattr__(self, a):
         if a in self.__dict__: return self.__dict__[a]
@@ -49,7 +49,27 @@ class UserExtension:
         return self._d.get(a, None)
 
     def __setattr__(self, a, v):
-       self._d[a] = v
+        self._d[a] = v
+
+################################################################################
+
+class UserExtension:
+    def __init__(self, user_extension = None):
+        if user_extension:
+            m = imp.load_source("dak_userext", user_extension)
+            d = m.__dict__
+        else:
+            m, d = None, {}
+        self.__dict__["_module"] = m
+        self.__dict__["_d"] = d
+
+    def __getattr__(self, a):
+        if a in self.__dict__: return self.__dict__[a]
+        if a[0] == "_": raise AttributeError, a
+        return self._d.get(a, None)
+
+    def __setattr__(self, a, v):
+        self._d[a] = v
 
 ################################################################################
 
@@ -68,17 +88,19 @@ def init():
          "Produce a report on NEW and BYHAND packages"),
         ("show-new",
          "Output html for packages in NEW"),
-        
+        ("show-deferred",
+         "Output html and symlinks for packages in DEFERRED"),
+
         ("rm",
          "Remove packages from suites"),
-        
+
         ("process-new",
          "Process NEW and BYHAND packages"),
         ("process-unchecked",
          "Process packages in queue/unchecked"),
         ("process-accepted",
          "Install packages into the pool"),
-        
+
         ("make-suite-file-list",
          "Generate lists of packages per suite for apt-ftparchive"),
         ("generate-releases",
@@ -92,8 +114,8 @@ def init():
         ("clean-proposed-updates",
          "Remove obsolete .changes from proposed-updates"),
 
-        ("edit-transitions",
-         "Edit the release transition file"),
+        ("transitions",
+         "Manage the release transition file"),
         ("check-overrides",
          "Override cruft checks"),
         ("check-proposed-updates",
@@ -146,7 +168,7 @@ def init():
          "Generate compatability symlinks from dists/ into pool/"),
         ]
     return functionality
-    
+
 ################################################################################
 
 def usage(functionality, exit_code=0):
@@ -174,7 +196,7 @@ def main():
 
     functionality = init()
     modules = [ command for (command, _) in functionality ]
-    
+
     if len(sys.argv) == 0:
         daklib.utils.fubar("err, argc == 0? how is that possible?")
     elif (len(sys.argv) == 1
@@ -211,6 +233,8 @@ def main():
 
     module.dak_userext = userext
     userext.dak_module = module
+
+    daklib.extensions.init(cmdname, module, userext)
     if userext.init is not None: userext.init(cmdname)
 
     module.main()