# HG changeset patch # User Bernhard Herzog # Date 1173869325 -3600 # Node ID 2bfb84bc4350db3d132dc37b67256be2e3d5228b # Parent 7510173b68be74613401d9f9073c910ac3d18d1c runtreepkg.py: add option --once and a way to run specific packagers diff -r 7510173b68be -r 2bfb84bc4350 runtreepkg.py --- 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()