Mercurial > treepkg
changeset 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 | 7510173b68be |
children | 06fba656dde8 |
files | runtreepkg.py |
diffstat | 1 files changed, 20 insertions(+), 2 deletions(-) [+] |
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()