Exemplo n.º 1
0
def create_instance(resource_id, config, environ):
    if palto_config.has_missing_options(config, 'odl', ODL_INFO):
        logging.warning('Need %s to create odl backend', ODL_INFO)
        return None
    args = { info: config.get('odl', info) for info in ODL_INFO }
    args['resource-id'] = config.get('odl', 'resource-id', fallback=resource_id)

    if REVISION != args['revision']:
        logging.error('This backend only support revision %s', REVISION)
        return None

    if args['type'] not in creators:
        logging.error('Map type %s not supported yet', args['type'])

    return creators[args['type']](config, resource_id, **args)
Exemplo n.º 2
0
def create_instance(rid, config, environ):
    if palto_config.has_missing_options(config, 'static_file', ['path']):
        logging.warning('Resource %s has no path option in *static_file* section', rid)
        return None

    with open(config['static_file']['path']) as data:
        content = json.load(data)

    meta, data = content.get('meta'), content.get('data')
    if (meta is None) or (data is None):
        logging.warning('Static file must have fields *meta* and *data*')
        return None
    service = meta.get('service', '')
    creator = creators.get(service)
    if creator is None:
        logging.warning('Resource type %s is not supported yet', service)
        return None

    return creator(config, environ['config'], rid, meta = meta, data = data)