server/move-devel-to-release | 69 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+)
New commits: commit 8775d06a595d91d2baceb0b02f58b5e3a5aa77da Author: Matt Domsch Matt_Domsch@dell.com Date: Wed Nov 9 10:52:54 2011 -0600
add move-devel-to-release script
diff --git a/server/move-devel-to-release b/server/move-devel-to-release new file mode 100644 index 0000000..1725406 --- /dev/null +++ b/server/move-devel-to-release @@ -0,0 +1,69 @@ +#!/usr/bin/python +__requires__ = 'TurboGears[future]' +import pkg_resources +pkg_resources.require("TurboGears") + +from sqlobject import * +import turbogears +from mirrormanager.model import * +from optparse import OptionParser +import sys, re, os + +from turbogears.database import PackageHub +hub = __connection__ = None + +options = None + +# moving repository pointers from pub/fedora/linux/development/14/x86_64/os to pub/fedora/linux/releases/14/Everything/x86_64/os +# This assumes you are moving the pointers within the same category, not across categories. + + +def doit(): + global options + c = Category.byName(options.category) + topdir = c.topdir.name + oldpattern = os.path.join('development', options.version) + newpattern = os.path.join('releases', options.version, 'Everything') + oldRe = re.compile(oldpattern) + for d in c.directories: + if oldRe.search(d.name): + r = d.repository + if r is not None: + t = d.name.replace(oldpattern, newpattern) + try: + new_d = Directory.byName(t) + r.directory = new_d + r.sync() + print "%s => %s" % (d.name, t) + except: + raise + +def main(): + global options + parser = OptionParser(usage=sys.argv[0] + " [options]") + parser.add_option("-c", "--config", + dest="config", default='/etc/mirrormanager/prod.cfg', + help="TurboGears config file to use (default=/etc/mirrormanager/prod.cfg)") + parser.add_option("-v", "--version", + dest="version", action="store", type="string", help="OS version to move (e.g. '14') [required]", default=None) + parser.add_option("--category", + dest="category", action="store", type="string", help="MM Category (e.g. 'Fedora Linux')", default=u'Fedora Linux') + + (options, args) = parser.parse_args() + if options.version is None: + parser.print_help() + sys.exit(1) + + turbogears.update_config(configfile=options.config, + modulename="mirrormanager.config") + global hub + global __connection__ + hub = PackageHub("mirrormanager") + __connection__ = hub + + doit() + return 0 + +if __name__ == "__main__": + sys.exit(main()) +
mirrormanager-commits@lists.fedorahosted.org