Ejemplo n.º 1
0
        def record_filter_decorated_function(*args, **kwargs):

            vault = get_vault()
            memory_storage = vault['memory_storage']
            record_ids = set(memory_storage.get_record_ids())  # make a copy

            if 'module' not in ignore:
                param = get_parameter(kwargs, 'module', 'modules', use_default)
                if param:
                    record_ids &= (
                        memory_storage.get_record_ids_by_modules(param))

            if 'project_type' not in ignore:
                param = get_parameter(kwargs, 'project_type', 'project_types',
                                      use_default)
                if param:
                    ptgi = vault['project_type_group_index']
                    modules = set()
                    for project_type in param:
                        project_type = project_type.lower()
                        if project_type in ptgi:
                            modules |= ptgi[project_type]
                    record_ids &= (
                        memory_storage.get_record_ids_by_modules(modules))

            if 'user_id' not in ignore:
                param = get_parameter(kwargs, 'user_id', 'user_ids')
                param = [u for u in param if get_user_from_runtime_storage(u)]
                if param:
                    record_ids &= (
                        memory_storage.get_record_ids_by_user_ids(param))

            if 'company' not in ignore:
                param = get_parameter(kwargs, 'company', 'companies')
                if param:
                    record_ids &= (
                        memory_storage.get_record_ids_by_companies(param))

            if 'release' not in ignore:
                param = get_parameter(kwargs, 'release', 'releases',
                                      use_default)
                if param:
                    if 'all' not in param:
                        record_ids &= (
                            memory_storage.get_record_ids_by_releases(
                                c.lower() for c in param))

            if 'metric' not in ignore:
                param = get_parameter(kwargs, 'metric')
                if 'reviews' in param:
                    record_ids &= memory_storage.get_review_ids()
                elif 'marks' in param:
                    record_ids &= memory_storage.get_mark_ids()
                elif ('loc' in param) or ('commits' in param):
                    record_ids &= memory_storage.get_commit_ids()

            kwargs['records'] = memory_storage.get_records(record_ids)
            return f(*args, **kwargs)
Ejemplo n.º 2
0
        def record_filter_decorated_function(*args, **kwargs):

            vault = get_vault()
            memory_storage = vault['memory_storage']
            record_ids = set(memory_storage.get_record_ids())  # make a copy

            if 'module' not in ignore:
                param = get_parameter(kwargs, 'module', 'modules', use_default)
                if param:
                    record_ids &= (
                        memory_storage.get_record_ids_by_modules(param))

            if 'project_type' not in ignore:
                param = get_parameter(kwargs, 'project_type', 'project_types',
                                      use_default)
                if param:
                    ptgi = vault['project_type_group_index']
                    modules = set()
                    for project_type in param:
                        project_type = project_type.lower()
                        if project_type in ptgi:
                            modules |= ptgi[project_type]
                    record_ids &= (
                        memory_storage.get_record_ids_by_modules(modules))

            if 'user_id' not in ignore:
                param = get_parameter(kwargs, 'user_id', 'user_ids')
                param = [u for u in param if validate_user_id(u)]
                if param:
                    record_ids &= (
                        memory_storage.get_record_ids_by_user_ids(param))

            if 'company' not in ignore:
                param = get_parameter(kwargs, 'company', 'companies')
                if param:
                    record_ids &= (
                        memory_storage.get_record_ids_by_companies(param))

            if 'release' not in ignore:
                param = get_parameter(kwargs, 'release', 'releases',
                                      use_default)
                if param:
                    if 'all' not in param:
                        record_ids &= (
                            memory_storage.get_record_ids_by_releases(
                                c.lower() for c in param))

            if 'metric' not in ignore:
                param = get_parameter(kwargs, 'metric')
                if 'reviews' in param:
                    record_ids &= memory_storage.get_review_ids()
                elif 'marks' in param:
                    record_ids &= memory_storage.get_mark_ids()
                elif ('loc' in param) or ('commits' in param):
                    record_ids &= memory_storage.get_commit_ids()

            kwargs['records'] = memory_storage.get_records(record_ids)
            return f(*args, **kwargs)
Ejemplo n.º 3
0
        def record_filter_decorated_function(*args, **kwargs):

            vault = get_vault()
            memory_storage = vault['memory_storage']
            record_ids = set(memory_storage.get_record_ids())  # make a copy

            if 'module' not in ignore:
                param = get_parameter(kwargs, 'module', 'modules', use_default)
                if param:
                    record_ids &= (memory_storage.get_record_ids_by_modules(
                        resolve_modules(param)))

            if 'project_type' not in ignore:
                param = get_parameter(kwargs, 'project_type', 'project_types',
                                      use_default)
                if param:
                    ptgi = vault['project_type_group_index']
                    modules = set()
                    for project_type in param:
                        project_type = project_type.lower()
                        if project_type in ptgi:
                            modules |= ptgi[project_type]
                    record_ids &= (
                        memory_storage.get_record_ids_by_modules(modules))

            if 'user_id' not in ignore:
                param = get_parameter(kwargs, 'user_id', 'user_ids')
                param = [u for u in param if get_user_from_runtime_storage(u)]
                if param:
                    record_ids &= (
                        memory_storage.get_record_ids_by_user_ids(param))

            if 'company' not in ignore:
                param = get_parameter(kwargs, 'company', 'companies')
                if param:
                    record_ids &= (
                        memory_storage.get_record_ids_by_companies(param))

            if 'release' not in ignore:
                param = get_parameter(kwargs, 'release', 'releases',
                                      use_default)
                if param:
                    if 'all' not in param:
                        record_ids &= (
                            memory_storage.get_record_ids_by_releases(
                                c.lower() for c in param))

            if 'metric' not in ignore:
                metrics = get_parameter(kwargs, 'metric')
                for metric in metrics:
                    record_ids &= memory_storage.get_record_ids_by_type(
                        METRIC_TO_RECORD_TYPE[metric])

            kwargs['records'] = memory_storage.get_records(record_ids)
            return f(*args, **kwargs)
Ejemplo n.º 4
0
        def record_filter_decorated_function(*args, **kwargs):

            vault = get_vault()
            memory_storage = vault["memory_storage"]
            record_ids = set(memory_storage.get_record_ids())  # make a copy

            if "module" not in ignore:
                param = get_parameter(kwargs, "module", "modules", use_default)
                if param:
                    record_ids &= memory_storage.get_record_ids_by_modules(resolve_modules(param))

            if "project_type" not in ignore:
                param = get_parameter(kwargs, "project_type", "project_types", use_default)
                if param:
                    ptgi = vault["project_type_group_index"]
                    modules = set()
                    for project_type in param:
                        project_type = project_type.lower()
                        if project_type in ptgi:
                            modules |= ptgi[project_type]
                    record_ids &= memory_storage.get_record_ids_by_modules(modules)

            if "user_id" not in ignore:
                param = get_parameter(kwargs, "user_id", "user_ids")
                param = [u for u in param if get_user_from_runtime_storage(u)]
                if param:
                    record_ids &= memory_storage.get_record_ids_by_user_ids(param)

            if "company" not in ignore:
                param = get_parameter(kwargs, "company", "companies")
                if param:
                    record_ids &= memory_storage.get_record_ids_by_companies(param)

            if "release" not in ignore:
                param = get_parameter(kwargs, "release", "releases", use_default)
                if param:
                    if "all" not in param:
                        record_ids &= memory_storage.get_record_ids_by_releases(c.lower() for c in param)

            if "metric" not in ignore:
                param = get_parameter(kwargs, "metric")
                if "reviews" in param:
                    record_ids &= memory_storage.get_review_ids()
                elif "marks" in param:
                    record_ids &= memory_storage.get_mark_ids()
                elif ("loc" in param) or ("commits" in param):
                    record_ids &= memory_storage.get_commit_ids()

            kwargs["records"] = memory_storage.get_records(record_ids)
            return f(*args, **kwargs)
Ejemplo n.º 5
0
        def record_filter_decorated_function(*args, **kwargs):

            vault = get_vault()
            memory_storage = vault['memory_storage']
            record_ids = memory_storage.get_record_ids()

            if 'module' not in ignore:
                param = get_parameter(kwargs, 'module', 'modules', use_default)
                if param:
                    record_ids &= (
                        memory_storage.get_record_ids_by_modules(param))

            if 'project_type' not in ignore:
                param = get_parameter(kwargs, 'project_type', 'project_types',
                                      use_default)
                if param:
                    ptgi = vault['project_type_group_index']
                    modules = set()
                    for project_type in param:
                        project_type = project_type.lower()
                        if project_type in ptgi:
                            modules |= ptgi[project_type]
                    record_ids &= (
                        memory_storage.get_record_ids_by_modules(modules))

            if 'launchpad_id' not in ignore:
                param = get_parameter(kwargs, 'launchpad_id', 'launchpad_ids')
                if param:
                    record_ids &= (
                        memory_storage.get_record_ids_by_launchpad_ids(param))

            if 'company' not in ignore:
                param = get_parameter(kwargs, 'company', 'companies')
                if param:
                    record_ids &= (
                        memory_storage.get_record_ids_by_companies(param))

            if 'release' not in ignore:
                param = get_parameter(kwargs, 'release', 'releases',
                                      use_default)
                if param:
                    if 'all' not in param:
                        record_ids &= (
                            memory_storage.get_record_ids_by_releases(
                                c.lower() for c in param))

            kwargs['records'] = memory_storage.get_records(record_ids)
            return f(*args, **kwargs)
Ejemplo n.º 6
0
        def decorated_function(*args, **kwargs):

            vault = get_vault()
            memory_storage = vault['memory_storage']
            record_ids = memory_storage.get_record_ids()

            param = parameter_getter('modules')
            if param:
                record_ids &= memory_storage.get_record_ids_by_modules(
                    param.split(','))

            if 'launchpad_id' in kwargs:
                param = kwargs['launchpad_id']
            else:
                param = (parameter_getter('launchpad_id') or
                         parameter_getter('launchpad_ids'))
            if param:
                record_ids &= memory_storage.get_record_ids_by_launchpad_ids(
                    param.split(','))

            if 'company' in kwargs:
                param = kwargs['company']
            else:
                param = (parameter_getter('company') or
                         parameter_getter('companies'))
            if param:
                record_ids &= memory_storage.get_record_ids_by_companies(
                    param.split(','))

            param = parameter_getter('release') or parameter_getter('releases')
            if param:
                if param != 'all':
                    record_ids &= memory_storage.get_record_ids_by_releases(
                        c.lower() for c in param.split(','))

            kwargs['records'] = memory_storage.get_records(record_ids)
            return f(*args, **kwargs)
Ejemplo n.º 7
0
        def record_filter_decorated_function(*args, **kwargs):

            vault = get_vault()
            memory_storage = vault['memory_storage']
            record_ids = set(memory_storage.get_record_ids())  # make a copy

            if 'module' not in ignore:
                param = get_parameter(kwargs, 'module', 'modules', use_default)
                if param:
                    record_ids &= (memory_storage.get_record_ids_by_modules(
                        resolve_modules(param)))

            if 'project_type' not in ignore:
                param = get_parameter(kwargs, 'project_type', 'project_types',
                                      use_default)
                if param:
                    ptgi = vault['project_type_group_index']
                    modules = set()
                    for project_type in param:
                        project_type = project_type.lower()
                        if project_type in ptgi:
                            modules |= ptgi[project_type]
                    record_ids &= (
                        memory_storage.get_record_ids_by_modules(modules))

            if 'user_id' not in ignore:
                param = get_parameter(kwargs, 'user_id', 'user_ids')
                param = [u for u in param if get_user_from_runtime_storage(u)]
                if param:
                    record_ids &= (
                        memory_storage.get_record_ids_by_user_ids(param))

            if 'company' not in ignore:
                param = get_parameter(kwargs, 'company', 'companies')
                if param:
                    record_ids &= (
                        memory_storage.get_record_ids_by_companies(param))

            if 'release' not in ignore:
                param = get_parameter(kwargs, 'release', 'releases',
                                      use_default)
                if param:
                    if 'all' not in param:
                        record_ids &= (
                            memory_storage.get_record_ids_by_releases(
                                c.lower() for c in param))

            if 'metric' not in ignore:
                metrics = get_parameter(kwargs, 'metric')
                for metric in metrics:
                    record_ids &= memory_storage.get_record_ids_by_type(
                        METRIC_TO_RECORD_TYPE[metric])

                if 'tm_marks' in metrics:
                    filtered_ids = []
                    review_nth = int(get_parameter(kwargs, 'review_nth')[0])
                    for record in memory_storage.get_records(record_ids):
                        parent = memory_storage.get_record_by_primary_key(
                            record['review_id'])
                        if (parent and ('review_number' in parent) and
                                (parent['review_number'] <= review_nth)):
                            filtered_ids.append(record['record_id'])
                    record_ids = filtered_ids

            kwargs['records'] = memory_storage.get_records(record_ids)
            return f(*args, **kwargs)