Exemple #1
0
def define_standalone_options(parser, extra_options=None):
    '''
    Adds the options specific to the database connection.
    Parses the agency configuration files and uses its configuration as the
    default values.
    '''
    c = config.parse_service_config()

    parser.add_option('--dbhost', '-H', action='store', dest='db_host',
                      type='str', help='hostname of the database',
                      default=c.db.host)
    parser.add_option('--dbname', '-n', action='store', dest='db_name',
                      type='str', help='name of database to use',
                      default=c.db.name)
    parser.add_option('--dbport', '-P', action='store', dest='db_port',
                      type='str', help='port of database to use',
                      default=c.db.port)
    parser.add_option('--dbusername', dest="db_username",
                      help="username to use for authentication ",
                      metavar="USER", default=c.db.username)
    parser.add_option('--dbpassword', dest="db_password",
                      help="password to use for authentication ",
                      metavar="PASSWORD", default=c.db.password)
    parser.add_option('--ssl', '-S', action='store_true', dest='db_https',
                      help='whether to use SSL db connections',
                      default=False)

    parser.add_option('--log', action='store', dest='log',
                      type='str', help='log level to set',
                      default=os.environ.get('FEAT_DEBUG', '2'))

    if extra_options:
        for option in extra_options:
            parser.add_option(option)
    return parser
Exemple #2
0
def standalone(script, options=[]):

    def define_options(extra_options):
        c = config.parse_service_config()

        parser = optparse.OptionParser()
        parser.add_option('--dbhost', '-H', action='store', dest='hostname',
                          type='str', help='hostname of the database',
                          default=c.db.host)
        parser.add_option('--dbname', '-n', action='store', dest='dbname',
                          type='str', help='name of database to use',
                          default=c.db.name)
        parser.add_option('--dbport', '-P', action='store', dest='dbport',
                          type='str', help='port of database to use',
                          default=c.db.port)

        for option in extra_options:
            parser.add_option(option)
        return parser

    def _error_handler(fail):
        error.handle_failure('script', fail, "Finished with exception: ")

    log.init()
    log.FluLogKeeper.set_debug('4')

    parser = define_options(options)
    opts, args = parser.parse_args()

    db = config.parse_service_config().db
    db.host, db.port, db.name = opts.hostname, opts.dbport, opts.dbname

    with dbscript(db) as d:
        d.addCallback(script, opts)
        d.addErrback(_error_handler)
Exemple #3
0
    def define_options(extra_options):
        c = config.parse_service_config()

        parser = optparse.OptionParser()
        parser.add_option('--dbhost', '-H', action='store', dest='hostname',
                          type='str', help='hostname of the database',
                          default=c.db.host)
        parser.add_option('--dbname', '-n', action='store', dest='dbname',
                          type='str', help='name of database to use',
                          default=c.db.name)
        parser.add_option('--dbport', '-P', action='store', dest='dbport',
                          type='str', help='port of database to use',
                          default=c.db.port)

        for option in extra_options:
            parser.add_option(option)
        return parser
Exemple #4
0
def standalone(script, options=[]):

    def _error_handler(fail):
        error.handle_failure('script', fail, "Finished with exception: ")

    # call log.init before define_option, which parses the service config
    # and can fail
    log.init()
    parser = define_standalone_options(optparse.OptionParser(), options)
    opts, args = parser.parse_args()
    log.FluLogKeeper.set_debug(opts.log)

    db = config.parse_service_config().db
    db.host, db.port, db.name = opts.db_host, opts.db_port, opts.db_name
    db.username, db.password = opts.db_username, opts.db_password
    db.https = opts.db_https

    with dbscript(db) as d:
        d.addCallback(script, opts)
        d.addErrback(_error_handler)