def extend_release_filter(release_filter): add_filter(release_filter, 'brew_default_target', NullableCharFilter(name='brew_mapping__default_target')) add_filter(release_filter, 'brew_allowed_tag', MultiValueFilter(name='brew_mapping__allowed_tags__tag_name')) add_filter(release_filter, 'product_pages_release_id', MultiIntFilter(name='product_pages_link__product_pages_id')) add_filter(release_filter, 'errata_product_version', NullableCharFilter(name='errata__product_version'))
class ExtendedReleaseFilter(filter_class): bugzilla_product = NullableCharFilter( name='releasebugzillamapping__bugzilla_product') dist_git_branch = NullableCharFilter( name='releasedistgitmapping__dist_git_branch') class Meta(filter_class.Meta): fields = filter_class.Meta.fields + ( 'bugzilla_product', 'dist_git_branch', )
class RPMFilter(django_filters.FilterSet): name = MultiValueFilter() version = MultiValueFilter() epoch = MultiIntFilter() release = MultiValueFilter() arch = MultiValueFilter() srpm_name = MultiValueFilter() srpm_nevra = NullableCharFilter() filename = MultiValueFilter() compose = MultiValueFilter(name='composerpm__variant_arch__variant__compose__compose_id', distinct=True) linked_release = MultiValueFilter(name='linked_releases__release_id', distinct=True) built_for_release = MultiValueFilter(name='built_for_release__release_id', distinct=True) provides = django_filters.MethodFilter(action=partial(dependency_filter, models.Dependency.PROVIDES)) requires = django_filters.MethodFilter(action=partial(dependency_filter, models.Dependency.REQUIRES)) obsoletes = django_filters.MethodFilter(action=partial(dependency_filter, models.Dependency.OBSOLETES)) conflicts = django_filters.MethodFilter(action=partial(dependency_filter, models.Dependency.CONFLICTS)) recommends = django_filters.MethodFilter(action=partial(dependency_filter, models.Dependency.RECOMMENDS)) suggests = django_filters.MethodFilter(action=partial(dependency_filter, models.Dependency.SUGGESTS)) has_no_deps = CaseInsensitiveBooleanFilter(name='dependency__isnull', distinct=True) class Meta: model = models.RPM fields = ('name', 'version', 'epoch', 'release', 'arch', 'srpm_name', 'srpm_nevra', 'compose', 'filename', 'linked_release', 'built_for_release', 'provides', 'requires', 'obsoletes', 'conflicts', 'recommends', 'suggests', 'has_no_deps')
class RPMFilter(django_filters.FilterSet): name = MultiValueRegexFilter(help_text=""" Multiple values will be OR-ed. Preferably use OR inside the regexp. """) version = MultiValueFilter() epoch = MultiIntFilter() release = MultiValueFilter() arch = MultiValueFilter() srpm_name = MultiValueFilter() srpm_nevra = NullableCharFilter() filename = MultiValueFilter() compose = MultiValueFilter( name='composerpm__variant_arch__variant__compose__compose_id', distinct=True) srpm_commit_hash = MultiValueFilter() srpm_commit_branch = MultiValueFilter() linked_release = MultiValueFilter(name='linked_releases__release_id', distinct=True) built_for_release = MultiValueFilter(name='built_for_release__release_id', distinct=True) provides = django_filters.CharFilter( method=partial(dependency_filter, models.Dependency.PROVIDES)) requires = django_filters.CharFilter( method=partial(dependency_filter, models.Dependency.REQUIRES)) obsoletes = django_filters.CharFilter( method=partial(dependency_filter, models.Dependency.OBSOLETES)) conflicts = django_filters.CharFilter( method=partial(dependency_filter, models.Dependency.CONFLICTS)) recommends = django_filters.CharFilter( method=partial(dependency_filter, models.Dependency.RECOMMENDS)) suggests = django_filters.CharFilter( method=partial(dependency_filter, models.Dependency.SUGGESTS)) has_no_deps = CaseInsensitiveBooleanFilter(name='dependency__isnull', distinct=True, help_text=""" - If "true", lists only RPMs which do not have any dependencies. - If "false", lists only RPMs which have at least one dependency. """) class Meta: model = models.RPM fields = ('name', 'version', 'epoch', 'release', 'arch', 'srpm_name', 'srpm_nevra', 'compose', 'filename', 'linked_release', 'built_for_release', 'provides', 'requires', 'obsoletes', 'conflicts', 'recommends', 'suggests', 'has_no_deps')
class ExtendedReleaseComponentFilter(filter_class): srpm_name = NullableCharFilter(name='srpmnamemapping__srpm_name') class Meta(filter_class.Meta): fields = filter_class.Meta.fields + ('srpm_name', )
def extend_release_component_filter(release_component_filter): add_filter(release_component_filter, 'srpm_name', NullableCharFilter(name='srpmnamemapping__srpm_name'))
def extend_release_filter(release_filter): add_filter(release_filter, 'bugzilla_product', NullableCharFilter(name='releasebugzillamapping__bugzilla_product')) add_filter(release_filter, 'dist_git_branch', NullableCharFilter(name='releasedistgitmapping__dist_git_branch'))