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