diff runtreepkg.py @ 25:2bfb84bc4350

runtreepkg.py: add option --once and a way to run specific packagers
author Bernhard Herzog <bh@intevation.de>
date Wed, 14 Mar 2007 11:48:45 +0100
parents 574506a022f6
children 206d63ee310e
line wrap: on
line diff
--- a/runtreepkg.py	Tue Mar 13 19:38:22 2007 +0100
+++ b/runtreepkg.py	Wed Mar 14 11:48:45 2007 +0100
@@ -28,7 +28,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 +43,21 @@
     initialize_logging()
 
     treepkg_opts, packager_opts = read_config(options.config_file)
+    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
     group = PackagerGroup([create_package_line(**opts)
                            for opts in packager_opts],
                           **treepkg_opts)
-    group.run()
+    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)