Commit 9ba30b62 authored by Adrian DC's avatar Adrian DC
Browse files

refactor(gitlab): isolate 'GitLabFeature.AccessLevels' constants

Signed-off-by: default avatarAdrian DC <radian.dc@gmail.com>
parent 5c90151d
Loading
Loading
Loading
Loading
+32 −28
Changes for src/features/gitlab.py: 32 added lines, 28 removed lines.
Original line number Diff line number Diff line
@@ -15,7 +15,11 @@ class GitLabFeature:
    # Constants
    TIMEOUT_DELETION: int = 300

    # Enumerations, pylint: disable=too-few-public-methods
    # Enumerations (Access Levels), pylint: disable=too-few-public-methods
    class AccessLevels:
        DISABLED = 'disabled'

    # Enumerations (Features), pylint: disable=too-few-public-methods
    class Features:

        # Constants
@@ -328,15 +332,15 @@ class GitLabFeature:
        except (AssertionError, GitlabListError):
            if project.merge_requests_enabled \
                    and GitLabFeature.Features.MERGE_REQUESTS not in keep_features:
                project.merge_requests_access_level = 'disabled'
                project.merge_requests_access_level = GitLabFeature.AccessLevels.DISABLED
                project.merge_requests_enabled = False
                result += [GitLabFeature.Features.MERGE_REQUESTS]

        # Disable unused feature (Forks)
        if project.forking_access_level != 'disabled' \
        if project.forking_access_level != GitLabFeature.AccessLevels.DISABLED \
                and not project.forks.list(get_all=False) \
                and GitLabFeature.Features.FORKS not in keep_features:
            project.forking_access_level = 'disabled'
            project.forking_access_level = GitLabFeature.AccessLevels.DISABLED
            result += [GitLabFeature.Features.FORKS]

        # Disable unused feature (Git LFS)
@@ -373,12 +377,12 @@ class GitLabFeature:
        try:
            assert project.commits.list(get_all=False)
        except (AssertionError, GitlabListError):
            if project.repository_access_level != 'disabled' \
            if project.repository_access_level != GitLabFeature.AccessLevels.DISABLED \
                    and GitLabFeature.Features.REPOSITORY not in keep_features:
                project.repository_access_level = 'disabled'
                project.merge_requests_access_level = 'disabled'
                project.repository_access_level = GitLabFeature.AccessLevels.DISABLED
                project.merge_requests_access_level = GitLabFeature.AccessLevels.DISABLED
                project.merge_requests_enabled = False
                project.forking_access_level = 'disabled'
                project.forking_access_level = GitLabFeature.AccessLevels.DISABLED
                project.lfs_enabled = False
                project.builds_access_level = GitLabFeature.AccessLevels.DISABLED
                project.jobs_enabled = False
@@ -393,15 +397,15 @@ class GitLabFeature:
            result += [GitLabFeature.Features.CONTAINER_REGISTRY]

        # Disable unused feature (Analytics)
        if project.analytics_access_level != 'disabled' \
        if project.analytics_access_level != GitLabFeature.AccessLevels.DISABLED \
                and GitLabFeature.Features.ANALYTICS not in keep_features:
            project.analytics_access_level = 'disabled'
            project.analytics_access_level = GitLabFeature.AccessLevels.DISABLED
            result += [GitLabFeature.Features.ANALYTICS]

        # Disable unused feature (Security and Compliance)
        if project.security_and_compliance_access_level != 'disabled' \
        if project.security_and_compliance_access_level != GitLabFeature.AccessLevels.DISABLED \
                and GitLabFeature.Features.SECURITY_AND_COMPLIANCE not in keep_features:
            project.security_and_compliance_access_level = 'disabled'
            project.security_and_compliance_access_level = GitLabFeature.AccessLevels.DISABLED
            result += [GitLabFeature.Features.SECURITY_AND_COMPLIANCE]

        # Disable unused feature (Wiki)
@@ -428,55 +432,55 @@ class GitLabFeature:
            result += [GitLabFeature.Features.PACKAGE_REGISTRY]

        # Disable unused feature (Model experiments)
        if project.model_experiments_access_level != 'disabled' \
        if project.model_experiments_access_level != GitLabFeature.AccessLevels.DISABLED \
                and GitLabFeature.Features.MODEL_EXPERIMENTS not in keep_features:
            project.model_experiments_access_level = 'disabled'
            project.model_experiments_access_level = GitLabFeature.AccessLevels.DISABLED
            result += [GitLabFeature.Features.MODEL_EXPERIMENTS]

        # Disable unused feature (Model registry)
        if project.model_registry_access_level != 'disabled' \
        if project.model_registry_access_level != GitLabFeature.AccessLevels.DISABLED \
                and GitLabFeature.Features.MODEL_REGISTRY not in keep_features:
            project.model_registry_access_level = 'disabled'
            project.model_registry_access_level = GitLabFeature.AccessLevels.DISABLED
            result += [GitLabFeature.Features.MODEL_REGISTRY]

        # Disable unused feature (Pages)
        if project.pages_access_level != 'disabled' \
        if project.pages_access_level != GitLabFeature.AccessLevels.DISABLED \
                and GitLabFeature.Features.PAGES not in keep_features:
            project.pages_access_level = 'disabled'
            project.pages_access_level = GitLabFeature.AccessLevels.DISABLED
            result += [GitLabFeature.Features.PAGES]

        # Disable unused feature (Monitor)
        if project.monitor_access_level != 'disabled' \
        if project.monitor_access_level != GitLabFeature.AccessLevels.DISABLED \
                and GitLabFeature.Features.MONITOR not in keep_features:
            project.monitor_access_level = 'disabled'
            project.monitor_access_level = GitLabFeature.AccessLevels.DISABLED
            result += [GitLabFeature.Features.MONITOR]

        # Disable unused feature (Environments)
        try:
            assert project.environments.list(get_all=False)
        except (AssertionError, GitlabListError):
            if project.environments_access_level != 'disabled' \
            if project.environments_access_level != GitLabFeature.AccessLevels.DISABLED \
                    and GitLabFeature.Features.ENVIRONMENTS not in keep_features:
                project.environments_access_level = 'disabled'
                project.environments_access_level = GitLabFeature.AccessLevels.DISABLED
                result += [GitLabFeature.Features.ENVIRONMENTS]

        # Disable unused feature (Feature flags)
        if project.feature_flags_access_level != 'disabled' \
        if project.feature_flags_access_level != GitLabFeature.AccessLevels.DISABLED \
                and GitLabFeature.Features.FEATURE_FLAGS not in keep_features:
            project.feature_flags_access_level = 'disabled'
            project.feature_flags_access_level = GitLabFeature.AccessLevels.DISABLED
            result += [GitLabFeature.Features.FEATURE_FLAGS]

        # Disable unused feature (Infrastructure)
        if project.infrastructure_access_level != 'disabled' \
        if project.infrastructure_access_level != GitLabFeature.AccessLevels.DISABLED \
                and GitLabFeature.Features.INFRASTRUCTURE not in keep_features:
            project.infrastructure_access_level = 'disabled'
            project.infrastructure_access_level = GitLabFeature.AccessLevels.DISABLED
            result += [GitLabFeature.Features.INFRASTRUCTURE]

        # Disable unused feature (Releases)
        if project.releases_access_level != 'disabled' \
        if project.releases_access_level != GitLabFeature.AccessLevels.DISABLED \
                and not project.releases.list(get_all=False) \
                and GitLabFeature.Features.RELEASES not in keep_features:
            project.releases_access_level = 'disabled'
            project.releases_access_level = GitLabFeature.AccessLevels.DISABLED
            result += [GitLabFeature.Features.RELEASES]

        # Disable unused feature (Service Desk)