def app_get_resource( blockchain_id, app_domain, res_name, app_config=None, data_pubkey=None, proxy=None, config_path=CONFIG_PATH ): """ Get a named application resource from mutable storage data_pubkey should be the publisher's public key If app_config is not None, then the driver hints will be honored. Return {'status': True, 'res': resource} on success Return {'error': ...} on error """ proxy = get_default_proxy() if proxy is None else proxy urls = None if app_config is not None: # use driver hints driver_hints = app_config['driver_hints'] urls = storage.get_driver_urls( res_data_id, storage.get_storage_handlers() ) res = data.get_mutable( res_name, [app_domain], data_pubkey=data_pubkey, proxy=proxy, config_path=config_path, urls=urls, blockchain_id=blockchain_id ) if 'error' in res: log.error("Failed to get resource {}: {}".format(res_name, res['error'])) return {'error': 'Failed to load resource'} return {'status': True, 'res': res['data']}
def app_get_resource( blockchain_id, app_domain, res_name, app_config=None, data_pubkey=None, proxy=None, config_path=CONFIG_PATH ): """ Get a named application resource from mutable storage data_pubkey should be the publisher's public key If app_config is not None, then the driver hints will be honored. Return {'status': True, 'res': resource} on success Return {'error': ...} on error """ proxy = get_default_proxy() if proxy is None else proxy res_data_id = '{}/{}'.format(app_domain, res_name) urls = None if app_config is not None: # use driver hints driver_hints = app_config['driver_hints'] urls = storage.get_driver_urls( res_data_id, storage.get_storage_handlers() ) res = data.get_mutable( res_data_id, data_pubkey=data_pubkey, proxy=proxy, config_path=config_path, urls=urls, blockchain_id=blockchain_id, fully_qualified_data_id=True ) if 'error' in res: log.error("Failed to get resource {}: {}".format(res_data_id, res['error'])) return {'error': 'Failed to load resource'} return {'status': True, 'res': res['data']}