diff runtreepkg.py @ 49:38d66dc6a1e5

merge
author Bernhard Herzog <bh@intevation.de>
date Mon, 02 Apr 2007 20:48:25 +0200
parents 206d63ee310e
children 78cf5f6778ec
line wrap: on
line diff
--- a/runtreepkg.py	Mon Apr 02 20:47:25 2007 +0200
+++ b/runtreepkg.py	Mon Apr 02 20:48:25 2007 +0200
@@ -8,6 +8,7 @@
 
 """Starts the tree packager"""
 
+import sys
 import os
 import logging
 from optparse import OptionParser
@@ -28,7 +29,13 @@
     parser = OptionParser()
     parser.set_defaults(config_file=os.path.join(os.path.dirname(__file__),
                                                  "treepkg.cfg"))
-    parser.add_option("--config-file")
+    parser.add_option("--config-file",
+                      help=("The tree packager config file."
+                            " Default treepkg.cfg"))
+    parser.add_option("--once", action="store_true",
+                      help=("Check the packagers only once and exit afterwards."
+                            " Without this option, the tree packager will"
+                            " check periodically."))
     return parser.parse_args()
 
 def main():
@@ -37,9 +44,24 @@
     initialize_logging()
 
     treepkg_opts, packager_opts = read_config(options.config_file)
-    group = PackagerGroup([create_package_line(**opts)
-                           for opts in packager_opts],
-                          **treepkg_opts)
-    group.run()
+
+    if args:
+        packager_opts = [opts for opts in packager_opts if opts["name"] in args]
+        # check whether we got all of the names in args:
+        for opts in packager_opts:
+            name = opts["name"]
+            if name in args:
+                args.remove(name)
+        for name in args:
+            print >>sys.stderr, "No package lines found named %r" % name
+
+    if packager_opts:
+        group = PackagerGroup([create_package_line(**opts)
+                               for opts in packager_opts],
+                              **treepkg_opts)
+        if options.once:
+            group.check_package_lines()
+        else:
+            group.run()
 
 main()
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)