#!/usr/bin/python
from optparse import OptionParser
import sys, re

__requires__ = 'TurboGears[future]'
import pkg_resources
pkg_resources.require("TurboGears")

import warnings
with warnings.catch_warnings():
    warnings.filterwarnings("ignore", category=DeprecationWarning) 
    import turbogears
from turbogears.database import PackageHub
from mirrormanager.initial import user_group_setup, create_arches, setup_centos

hub = __connection__ = None
options = None

def doit():
    user_group_setup()
    create_arches()
    if options.distro == u'CentOS':
        setup_centos()

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("-d", "--distro",
                      dest="distro", default=u'Fedora', choices=[u'Fedora', u'CentOS']
                      help="Distro to for which initialize")

    (options, args) = parser.parse_args()

    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())
        
