def templated_decorated_function(*args, **kwargs): vault_inst = vault.get_vault() template_name = template if template_name is None: template_name = (flask.request.endpoint.replace('.', '/') + '.html') ctx = f(*args, **kwargs) if ctx is None: ctx = {} # put parameters into template metric = flask.request.args.get('metric') if metric not in parameters.METRIC_LABELS: metric = None ctx['metric'] = metric or parameters.get_default('metric') ctx['metric_label'] = parameters.METRIC_LABELS[ctx['metric']] project_type = flask.request.args.get('project_type') if not vault.is_project_type_valid(project_type): project_type = parameters.get_default('project_type') ctx['project_type'] = project_type release = flask.request.args.get('release') releases = vault_inst['releases'] if release: release = release.lower() if release != 'all': if release not in releases: release = None else: release = releases[release]['release_name'] ctx['release'] = (release or parameters.get_default('release')).lower() ctx['review_nth'] = (flask.request.args.get('review_nth') or parameters.get_default('review_nth')) ctx['project_type_options'] = vault.get_project_type_options() ctx['release_options'] = vault.get_release_options() ctx['metric_options'] = sorted(parameters.METRIC_LABELS.items(), key=lambda x: x[0]) ctx['company'] = parameters.get_single_parameter(kwargs, 'company') ctx['company_original'] = ( vault.get_memory_storage().get_original_company_name( ctx['company'])) ctx['module'] = parameters.get_single_parameter(kwargs, 'module') ctx['user_id'] = parameters.get_single_parameter(kwargs, 'user_id') ctx['page_title'] = helpers.make_page_title( ctx['company'], ctx['user_id'], ctx['module'], ctx['release']) ctx['stackalytics_version'] = ( stackalytics_version.version_info.version_string()) ctx['stackalytics_release'] = ( stackalytics_version.version_info.release_string()) return flask.render_template(template_name, **ctx), return_code
def get_project_type_json(project_type): if not vault.is_project_type_valid(project_type): project_type = parameters.get_default('project_type') pt = vault.get_project_type(project_type) return {'id': pt['id'], 'text': pt['title']}