Mercurial > treepkg
diff bin/inittreepkg.py @ 106:66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
and some support code for in in the packager classes.
author | Bernhard Herzog <bh@intevation.de> |
---|---|
date | Tue, 04 Mar 2008 14:31:28 +0000 |
parents | |
children | 1fcdffbeb9de |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bin/inittreepkg.py Tue Mar 04 14:31:28 2008 +0000 @@ -0,0 +1,44 @@ +#! /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. + +"""Script to partially initialize the tree packager + +The script assumes that the config file for the tree packager already +contains the settings for the individual packagers. This script will at +least create the base directory for all packagers configured in the +configuration file and perhaps do other checks and initializations +depending on the packager classes used. The output indicates what has +been done and what still needs to be done manually. +""" + + +import treepkgcmd +from treepkg.options import create_parser +from treepkg.packager import create_package_track, PackagerGroup +from treepkg.readconfig import read_config + + +def init_treepkg(config_file): + treepkg_opts, packager_opts = read_config(config_file) + group = PackagerGroup([create_package_track(**opts) + for opts in packager_opts], + **treepkg_opts) + for track in group.get_package_tracks(): + track.init_treepkg() + + +def parse_commandline(): + parser = create_parser() + return parser.parse_args() + + +def main(): + options, args = parse_commandline() + init_treepkg(options.config_file) + +main()