Mercurial > treepkg
view bin/runtreepkg.py @ 190:e83db4482aab
Add runtreepkg.py command line option --no-svn-update to inhibit updates
of the working copies. This can be useful if e.g. the svn server is
down. Adapt the test cases.
author | Bernhard Herzog <bh@intevation.de> |
---|---|
date | Wed, 30 Jul 2008 19:00:31 +0000 |
parents | 2630a1c18816 |
children | 94fb3f3ab58b |
line wrap: on
line source
#! /usr/bin/python2.4 # Copyright (C) 2007, 2008 by Intevation GmbH # Authors: # Bernhard Herzog <bh@intevation.de> # # This program is free software under the GPL (>=v2) # Read the file COPYING coming with the software for details. """Starts the tree packager""" import sys import os import logging from optparse import OptionParser import treepkgcmd from treepkg.options import create_parser from treepkg.packager import create_package_track, PackagerGroup from treepkg.readconfig import read_config def initialize_logging(): """Initializes the logging system""" root = logging.getLogger() root.setLevel(logging.DEBUG) hdlr = logging.StreamHandler() fmt = logging.Formatter("%(asctime)s %(levelname)s %(message)s") hdlr.setFormatter(fmt) root.addHandler(hdlr) def parse_commandline(): parser = create_parser() 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.")) parser.add_option("--revision", help=("SVN revision to update to before attempting" " to package.")) parser.add_option("--no-svn-update", action="store_true", help=("Do not update the SVN workingcopy before" " attempting to package.")) return parser.parse_args() def main(): options, args = parse_commandline() 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 tracks found named %r" % name if packager_opts: group = PackagerGroup([create_package_track(**opts) for opts in packager_opts], revision=options.revision, do_svn_update=not options.no_svn_update, **treepkg_opts) if options.once: group.check_package_tracks() else: group.run() main()