Ejemplo n.º 1
0
    logger.info('extracting features...')
    features = feature_extractor.transform(data)

    logger.info('predicting...')
    prediction = model.predict(features)

    return jsonify(prediction=prediction)


def load_app_config():
    config_definitions = {
        'FEATURE_EXTRACTOR': str,
        'MODEL': str,
        'APP_PORT': int,
        'ENVIRONMENT': str
    }
    config = {k: v(os.environ[k]) for k, v in config_definitions.items()}
    app.config.update(config)

    app.config['model'] = pickle.load(app.config['model'])
    app.config['feature_extractor'] = pickle.load(
        app.config['feature_extractor'])


load_config()
load_app_config()

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=app.config['APP_PORT'])
Ejemplo n.º 2
0
def test_fail_load_config():
    with pytest.raises(ConfigurationError):
        load_config("/unknown.json")
Ejemplo n.º 3
0
    return result

def main(producers, config, args):
    base_hosts = config.get('base_conf', 'hosts')
    for producer in producers:
        hosts = config.get(producer, 'hosts', base_hosts).split()
        for host in hosts:
            try:
                producer_conf = config.get_section(producer)
                cmd = config.get(producer, 'cmd')

                lines = ssh_cmd(host, cmd).splitlines()
                result = handle_convert(host, lines, producer_conf, producer)
                # output result
                for nerds in result:
                    save_to_json(nerds, args.out)
            except Exception as e:
                logger.error( "Producer '{}' on host '{}' failed with message: {}".format(producer, host, e))


if __name__ == '__main__':
    args = cli()
    config = load_config(args.config)
    producers = config.sections()
    if 'base_conf' in producers:
        producers.remove('base_conf')
    
    main(producers, config, args)
        
Ejemplo n.º 4
0
def test_load_config():
    config = load_config(os.path.join(LOCAL, "test.json"))
    assert config["manager"] == {"username": "******", "secret": "secret"}
Ejemplo n.º 5
0
    return result

def main(producers, config, args):
    base_hosts = config.get('base_conf', 'hosts')
    for producer in producers:
        hosts = config.get(producer, 'hosts', base_hosts).split()
        for host in hosts:
            try:
                producer_conf = config.get_section(producer)
                cmd = config.get(producer, 'cmd')

                lines = ssh_cmd(host, cmd).splitlines()
                result = handle_convert(host, lines, producer_conf, producer)
                # output result
                for nerds in result:
                    save_to_json(nerds, args.out)
            except Exception as e:
                logger.error( "Producer '{}' on host '{}' failed with message: {}".format(producer, host, e))


if __name__ == '__main__':
    args = cli()
    config = load_config(args.config)
    producers = config.sections()
    if 'base_conf' in producers:
        producers.remove('base_conf')
    
    main(producers, config, args)