def aggregate_filter_decorated_function(*args, **kwargs): metric_param = (flask.request.args.get('metric') or parameters.get_default('metric')) metric = metric_param.lower() metric_to_filters_map = { 'commits': (None, None), 'loc': (loc_filter, None), 'marks': (mark_filter, mark_finalize), 'tm_marks': (mark_filter, mark_finalize), 'emails': (incremental_filter, None), 'bpd': (incremental_filter, None), 'bpc': (incremental_filter, None), 'filed-bugs': (incremental_filter, None), 'resolved-bugs': (incremental_filter, None), 'members': (incremental_filter, None), 'person-day': (person_day_filter, None), 'ci': (None, None), 'patches': (None, None), } if metric not in metric_to_filters_map: metric = parameters.get_default('metric') kwargs['metric_filter'] = metric_to_filters_map[metric][0] kwargs['finalize_handler'] = metric_to_filters_map[metric][1] if metric == 'person-day': kwargs['records'] = generate_records_for_person_day( kwargs['record_ids']) return f(*args, **kwargs)
def aggregate_filter_decorated_function(*args, **kwargs): metric_param = (flask.request.args.get('metric') or parameters.get_default('metric')) metric = metric_param.lower() metric_to_filters_map = { 'commits': (None, None), 'loc': (loc_filter, None), 'marks': (mark_filter, mark_finalize), 'tm_marks': (mark_filter, mark_finalize), 'emails': (incremental_filter, None), 'bpd': (incremental_filter, None), 'bpc': (incremental_filter, None), 'filed-bugs': (incremental_filter, None), 'resolved-bugs': (incremental_filter, None), 'members': (incremental_filter, None), 'person-day': (person_day_filter, None), 'ci': (None, None), } if metric not in metric_to_filters_map: metric = parameters.get_default('metric') kwargs['metric_filter'] = metric_to_filters_map[metric][0] kwargs['finalize_handler'] = metric_to_filters_map[metric][1] if metric == 'person-day': kwargs['records'] = generate_records_for_person_day( kwargs['record_ids']) return f(*args, **kwargs)
def get_project_types_json(**kwargs): return ([{ 'id': pt['id'], 'text': pt['title'], 'child': pt.get('child', False) } for pt in vault.get_project_types()], parameters.get_default('project_type'))
def get_metrics_json(**kwargs): return (sorted([{ 'id': m, 'text': t } for m, t in six.iteritems(parameters.METRIC_LABELS)], key=operator.itemgetter('text')), parameters.get_default('metric'))
def get_releases_json(**kwargs): releases = [{'id': release['release_name'], 'text': release['release_name'].capitalize()} for release in vault.get_vault()['releases'].values()] releases.append({'id': 'all', 'text': 'All'}) releases.reverse() return (releases, parameters.get_default('release'))
def get_releases_json(**kwargs): releases = [{ 'id': release['release_name'], 'text': release['release_name'].capitalize() } for release in vault.get_vault()['releases'].values()] releases.append({'id': 'all', 'text': 'All'}) releases.reverse() return (releases, parameters.get_default('release'))
def get_releases_json(**kwargs): return ([{ 'id': r['release_name'], 'text': r['release_name'].capitalize() } for r in vault.get_release_options()], parameters.get_default('release'))
def get_project_types_json(**kwargs): return ([{'id': pt['id'], 'text': pt['title'], 'child': pt.get('child', False)} for pt in vault.get_project_types()], parameters.get_default('project_type'))
def get_metrics_json(**kwargs): return (sorted([{'id': m, 'text': t} for m, t in six.iteritems(parameters.METRIC_LABELS)], key=operator.itemgetter('text')), parameters.get_default('metric'))
def get_releases_json(**kwargs): return ([{'id': r['release_name'], 'text': r['release_name'].capitalize()} for r in vault.get_release_options()], parameters.get_default('release'))
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['company'] = parameters.get_single_parameter(kwargs, 'company') ctx['company_original'] = ( vault.get_memory_storage().get_original_company_name( ctx['company'])) module = parameters.get_single_parameter(kwargs, 'module') ctx['module'] = module module_name = None if module and module in vault_inst['module_id_index']: ctx['module_inst'] = vault_inst['module_id_index'][module] module_name = ctx['module_inst']['module_group_name'] ctx['user_id'] = parameters.get_single_parameter(kwargs, 'user_id') if ctx['user_id']: ctx['user_inst'] = vault.get_user_from_runtime_storage( ctx['user_id']) ctx['page_title'] = helpers.make_page_title( ctx['company'], ctx['user_id'], module_name, ctx['release']) ctx['stackalytics_version'] = ( stackalytics_version.version_info.version_string()) ctx['stackalytics_release'] = ( stackalytics_version.version_info.release_string()) ctx['runtime_storage_update_time'] = ( vault_inst['runtime_storage_update_time']) return flask.render_template(template_name, **ctx), return_code