def compile_bad_assets(): try: with current_app.test_request_context(): print "[+] Starting bad asset cache reset..." cache = Cache(config={'CACHE_TYPE': 'redis', 'CACHE_REDIS_DB': 0}) cache.init_app(current_app) url = current_app.config['UFRAME_ASSETS_URL'] + '/assets' payload = requests.get(url) if payload.status_code is 200: data = payload.json() bad_assets = _compile_bad_assets(data) if "error" not in bad_assets: cache.set('bad_asset_list', bad_assets, timeout=CACHE_TIMEOUT) print "[+] Bad asset cache reset" else: print "[-] Error in cache update" except Exception as err: message = 'compile_bad_assets exception: %s' % err.message current_app.logger.warning(message)
def _get_bad_assets(): """ Get all 'bad' assets (in ooi-ui-services format) """ try: bad_asset_cache = cache.get('bad_asset_list') if bad_asset_cache: result_data = bad_asset_cache else: data = get_assets_from_uframe() try: result_data = _compile_bad_assets(data) cache.set('bad_asset_list', result_data, timeout=CACHE_TIMEOUT) except Exception as err: message = err.message raise Exception(message) return result_data except Exception as err: raise
def _get_all_assets(): """ Get all assets (complete or incomplete) (in ooi-ui-services format). """ try: # Get 'good' assets asset_cache = cache.get('asset_list') if asset_cache: asset_data = asset_cache else: try: asset_data = get_assets_payload() cache.set('asset_list', asset_data, timeout=CACHE_TIMEOUT) except Exception as err: message = err.message raise Exception(message) # Get 'bad' assets bad_asset_cache = cache.get('bad_asset_list') if bad_asset_cache: bad_asset_data = bad_asset_cache else: data = get_assets_from_uframe() try: bad_asset_data = _compile_bad_assets(data) cache.set('bad_asset_list', bad_asset_data, timeout=CACHE_TIMEOUT) except Exception as err: message = err.message raise Exception(message) result_data = asset_data + bad_asset_data if result_data: result_data.sort() return result_data except Exception as err: raise