def get_module_version_list(module_list, tainted): """Returns a list of pairs (module name, version name) to fetch logs for. Arguments: module_list: list of modules to list, defaults to all modules. tainted: if False, excludes versions with '-tainted' in their name. """ result = [] if not module_list: # If the function it called too often, it'll raise a OverQuotaError. So # cache it for 10 minutes. module_list = memcache.get('modules_list') if not module_list: module_list = modules.get_modules() memcache.set('modules_list', module_list, time=10*60) for module in module_list: # If the function it called too often, it'll raise a OverQuotaError. # Versions is a bit more tricky since we'll loose data, since versions are # changed much more often than modules. So cache it for 1 minute. key = 'modules_list-' + module version_list = memcache.get(key) if not version_list: version_list = modules.get_versions(module) memcache.set(key, version_list, time=60) result.extend( (module, v) for v in version_list if tainted or '-tainted' not in v) return result
def get_module_version_list(module_list, tainted): """Returns a list of pairs (module name, version name) to fetch logs for. Arguments: module_list: list of modules to list, defaults to all modules. tainted: if False, excludes versions with '-tainted' in their name. """ result = [] if not module_list: # If the function it called too often, it'll raise a OverQuotaError. So # cache it for 10 minutes. module_list = gae_memcache.get('modules_list') if not module_list: module_list = modules.get_modules() gae_memcache.set('modules_list', module_list, time=10*60) for module in module_list: # If the function it called too often, it'll raise a OverQuotaError. # Versions is a bit more tricky since we'll loose data, since versions are # changed much more often than modules. So cache it for 1 minute. key = 'modules_list-' + module version_list = gae_memcache.get(key) if not version_list: version_list = modules.get_versions(module) gae_memcache.set(key, version_list, time=60) result.extend( (module, v) for v in version_list if tainted or '-tainted' not in v) return result
def get(self): self.response.headers['Content-Type'] = 'application/json' current_module = get_current_module_name() self.response.out.write( json.dumps({ 'modules': get_modules(), 'current_module_versions': get_versions(current_module), 'default_version': get_default_version(current_module), 'current_module': current_module, 'current_version': get_current_version_name(), 'current_instance_id': get_current_instance_id() }))