Loading src/features/gitlab.py +49 −22 Changes for src/features/gitlab.py: 49 added lines, 22 removed lines. Original line number Diff line number Diff line Loading @@ -15,6 +15,33 @@ class GitLabFeature: # Constants TIMEOUT_DELETION: int = 300 # Enumerations, pylint: disable=too-few-public-methods class Features: # Constants ISSUES: str = 'Issues' MERGE_REQUESTS: str = 'Merge requests' FORKS: str = 'Forks' GIT_LFS: str = 'Git LFS' CI_CD: str = 'CI/CD' REPOSITORY: str = 'Repository' CONTAINER_REGISTRY: str = 'Container registry' ANALYTICS: str = 'Analytics' SECURITY_AND_COMPLIANCE: str = 'Security and Compliance' WIKI: str = 'Wiki' SNIPPETS: str = 'Snippets' PACKAGE_REGISTRY: str = 'Package registry' MODEL_EXPERIMENTS: str = 'Model experiments' MODEL_REGISTRY: str = 'Model registry' PAGES: str = 'Pages' MONITOR: str = 'Monitor' ENVIRONMENTS: str = 'Environments' FEATURE_FLAGS: str = 'Feature flags' INFRASTRUCTURE: str = 'Infrastructure' RELEASES: str = 'Releases' SERVICE_DESK: str = 'Service Desk' AUTO_DEVOPS: str = 'Auto DevOps' # Members __dry_run: bool = False __gitlab: Gitlab Loading Loading @@ -237,7 +264,7 @@ class GitLabFeature: # Disable unused feature (Issues) if project.issues_enabled and not project.issues.list(get_all=False): project.issues_enabled = False result += ['Issues'] result += [GitLabFeature.Features.ISSUES] # Disable unused feature (Repository) try: Loading @@ -245,7 +272,7 @@ class GitLabFeature: except (AssertionError, GitlabListError): if project.repository_access_level != 'disabled': project.repository_access_level = 'disabled' result += ['Repository'] result += [GitLabFeature.Features.REPOSITORY] # Disable unused feature (Merge requests) try: Loading @@ -258,18 +285,18 @@ class GitLabFeature: except (AssertionError, GitlabListError): if project.merge_requests_enabled: project.merge_requests_enabled = False result += ['Merge requests'] result += [GitLabFeature.Features.MERGE_REQUESTS] # Disable unused feature (Forks) if project.forking_access_level != 'disabled' and not project.forks.list( get_all=False): project.forking_access_level = 'disabled' result += ['Forks'] result += [GitLabFeature.Features.FORKS] # Disable unused feature (Git LFS) if project.lfs_enabled and project.statistics['lfs_objects_size'] == 0: project.lfs_enabled = False result += ['Git LFS'] result += [GitLabFeature.Features.GIT_LFS] # Disable unused feature (CI/CD) try: Loading @@ -290,58 +317,58 @@ class GitLabFeature: except (AssertionError, GitlabGetError, GitlabListError): if project.jobs_enabled: project.jobs_enabled = False result += ['CI/CD'] result += [GitLabFeature.Features.CI_CD] # Disable unused feature (Container registry) if project.container_registry_enabled and not project.repositories.list( get_all=False): project.container_registry_enabled = False result += ['Container registry'] result += [GitLabFeature.Features.CONTAINER_REGISTRY] # Disable unused feature (Analytics) if project.analytics_access_level != 'disabled': project.analytics_access_level = 'disabled' result += ['Analytics'] result += [GitLabFeature.Features.ANALYTICS] # Disable unused feature (Security and Compliance) if project.security_and_compliance_access_level != 'disabled': project.security_and_compliance_access_level = 'disabled' result += ['Security and Compliance'] result += [GitLabFeature.Features.SECURITY_AND_COMPLIANCE] # Disable unused feature (Wiki) if project.wiki_enabled and not project.wikis.list(get_all=False): project.wiki_enabled = False result += ['Wiki'] result += [GitLabFeature.Features.WIKI] # Disable unused feature (Snippets) if project.snippets_enabled and not project.snippets.list(get_all=False): project.snippets_enabled = False result += ['Snippets'] result += [GitLabFeature.Features.SNIPPETS] # Disable unused feature (Package registry) if project.packages_enabled and not project.packages.list(get_all=False): project.packages_enabled = False result += ['Package registry'] result += [GitLabFeature.Features.PACKAGE_REGISTRY] # Disable unused feature (Model experiments) if project.model_experiments_access_level != 'disabled': project.model_experiments_access_level = 'disabled' result += ['Model experiments'] result += [GitLabFeature.Features.MODEL_EXPERIMENTS] # Disable unused feature (Model registry) if project.model_registry_access_level != 'disabled': project.model_registry_access_level = 'disabled' result += ['Model registry'] result += [GitLabFeature.Features.MODEL_REGISTRY] # Disable unused feature (Pages) if project.pages_access_level != 'disabled': project.pages_access_level = 'disabled' result += ['Pages'] result += [GitLabFeature.Features.PAGES] # Disable unused feature (Monitor) if project.monitor_access_level != 'disabled': project.monitor_access_level = 'disabled' result += ['Monitor'] result += [GitLabFeature.Features.MONITOR] # Disable unused feature (Environments) try: Loading @@ -349,33 +376,33 @@ class GitLabFeature: except (AssertionError, GitlabListError): if project.environments_access_level != 'disabled': project.environments_access_level = 'disabled' result += ['Environments'] result += [GitLabFeature.Features.ENVIRONMENTS] # Disable unused feature (Feature flags) if project.feature_flags_access_level != 'disabled': project.feature_flags_access_level = 'disabled' result += ['Feature flags'] result += [GitLabFeature.Features.FEATURE_FLAGS] # Disable unused feature (Infrastructure) if project.infrastructure_access_level != 'disabled': project.infrastructure_access_level = 'disabled' result += ['Infrastructure'] result += [GitLabFeature.Features.INFRASTRUCTURE] # Disable unused feature (Releases) if project.releases_access_level != 'disabled' and not project.releases.list( get_all=False): project.releases_access_level = 'disabled' result += ['Releases'] result += [GitLabFeature.Features.RELEASES] # Disable unused feature (Service Desk) if project.service_desk_enabled: project.service_desk_enabled = False result += ['Service Desk'] result += [GitLabFeature.Features.SERVICE_DESK] # Disable unused feature (Auto DevOps) if project.auto_devops_enabled: project.auto_devops_enabled = False result += ['Auto DevOps'] result += [GitLabFeature.Features.AUTO_DEVOPS] # Save project if not self.__dry_run: Loading Loading
src/features/gitlab.py +49 −22 Changes for src/features/gitlab.py: 49 added lines, 22 removed lines. Original line number Diff line number Diff line Loading @@ -15,6 +15,33 @@ class GitLabFeature: # Constants TIMEOUT_DELETION: int = 300 # Enumerations, pylint: disable=too-few-public-methods class Features: # Constants ISSUES: str = 'Issues' MERGE_REQUESTS: str = 'Merge requests' FORKS: str = 'Forks' GIT_LFS: str = 'Git LFS' CI_CD: str = 'CI/CD' REPOSITORY: str = 'Repository' CONTAINER_REGISTRY: str = 'Container registry' ANALYTICS: str = 'Analytics' SECURITY_AND_COMPLIANCE: str = 'Security and Compliance' WIKI: str = 'Wiki' SNIPPETS: str = 'Snippets' PACKAGE_REGISTRY: str = 'Package registry' MODEL_EXPERIMENTS: str = 'Model experiments' MODEL_REGISTRY: str = 'Model registry' PAGES: str = 'Pages' MONITOR: str = 'Monitor' ENVIRONMENTS: str = 'Environments' FEATURE_FLAGS: str = 'Feature flags' INFRASTRUCTURE: str = 'Infrastructure' RELEASES: str = 'Releases' SERVICE_DESK: str = 'Service Desk' AUTO_DEVOPS: str = 'Auto DevOps' # Members __dry_run: bool = False __gitlab: Gitlab Loading Loading @@ -237,7 +264,7 @@ class GitLabFeature: # Disable unused feature (Issues) if project.issues_enabled and not project.issues.list(get_all=False): project.issues_enabled = False result += ['Issues'] result += [GitLabFeature.Features.ISSUES] # Disable unused feature (Repository) try: Loading @@ -245,7 +272,7 @@ class GitLabFeature: except (AssertionError, GitlabListError): if project.repository_access_level != 'disabled': project.repository_access_level = 'disabled' result += ['Repository'] result += [GitLabFeature.Features.REPOSITORY] # Disable unused feature (Merge requests) try: Loading @@ -258,18 +285,18 @@ class GitLabFeature: except (AssertionError, GitlabListError): if project.merge_requests_enabled: project.merge_requests_enabled = False result += ['Merge requests'] result += [GitLabFeature.Features.MERGE_REQUESTS] # Disable unused feature (Forks) if project.forking_access_level != 'disabled' and not project.forks.list( get_all=False): project.forking_access_level = 'disabled' result += ['Forks'] result += [GitLabFeature.Features.FORKS] # Disable unused feature (Git LFS) if project.lfs_enabled and project.statistics['lfs_objects_size'] == 0: project.lfs_enabled = False result += ['Git LFS'] result += [GitLabFeature.Features.GIT_LFS] # Disable unused feature (CI/CD) try: Loading @@ -290,58 +317,58 @@ class GitLabFeature: except (AssertionError, GitlabGetError, GitlabListError): if project.jobs_enabled: project.jobs_enabled = False result += ['CI/CD'] result += [GitLabFeature.Features.CI_CD] # Disable unused feature (Container registry) if project.container_registry_enabled and not project.repositories.list( get_all=False): project.container_registry_enabled = False result += ['Container registry'] result += [GitLabFeature.Features.CONTAINER_REGISTRY] # Disable unused feature (Analytics) if project.analytics_access_level != 'disabled': project.analytics_access_level = 'disabled' result += ['Analytics'] result += [GitLabFeature.Features.ANALYTICS] # Disable unused feature (Security and Compliance) if project.security_and_compliance_access_level != 'disabled': project.security_and_compliance_access_level = 'disabled' result += ['Security and Compliance'] result += [GitLabFeature.Features.SECURITY_AND_COMPLIANCE] # Disable unused feature (Wiki) if project.wiki_enabled and not project.wikis.list(get_all=False): project.wiki_enabled = False result += ['Wiki'] result += [GitLabFeature.Features.WIKI] # Disable unused feature (Snippets) if project.snippets_enabled and not project.snippets.list(get_all=False): project.snippets_enabled = False result += ['Snippets'] result += [GitLabFeature.Features.SNIPPETS] # Disable unused feature (Package registry) if project.packages_enabled and not project.packages.list(get_all=False): project.packages_enabled = False result += ['Package registry'] result += [GitLabFeature.Features.PACKAGE_REGISTRY] # Disable unused feature (Model experiments) if project.model_experiments_access_level != 'disabled': project.model_experiments_access_level = 'disabled' result += ['Model experiments'] result += [GitLabFeature.Features.MODEL_EXPERIMENTS] # Disable unused feature (Model registry) if project.model_registry_access_level != 'disabled': project.model_registry_access_level = 'disabled' result += ['Model registry'] result += [GitLabFeature.Features.MODEL_REGISTRY] # Disable unused feature (Pages) if project.pages_access_level != 'disabled': project.pages_access_level = 'disabled' result += ['Pages'] result += [GitLabFeature.Features.PAGES] # Disable unused feature (Monitor) if project.monitor_access_level != 'disabled': project.monitor_access_level = 'disabled' result += ['Monitor'] result += [GitLabFeature.Features.MONITOR] # Disable unused feature (Environments) try: Loading @@ -349,33 +376,33 @@ class GitLabFeature: except (AssertionError, GitlabListError): if project.environments_access_level != 'disabled': project.environments_access_level = 'disabled' result += ['Environments'] result += [GitLabFeature.Features.ENVIRONMENTS] # Disable unused feature (Feature flags) if project.feature_flags_access_level != 'disabled': project.feature_flags_access_level = 'disabled' result += ['Feature flags'] result += [GitLabFeature.Features.FEATURE_FLAGS] # Disable unused feature (Infrastructure) if project.infrastructure_access_level != 'disabled': project.infrastructure_access_level = 'disabled' result += ['Infrastructure'] result += [GitLabFeature.Features.INFRASTRUCTURE] # Disable unused feature (Releases) if project.releases_access_level != 'disabled' and not project.releases.list( get_all=False): project.releases_access_level = 'disabled' result += ['Releases'] result += [GitLabFeature.Features.RELEASES] # Disable unused feature (Service Desk) if project.service_desk_enabled: project.service_desk_enabled = False result += ['Service Desk'] result += [GitLabFeature.Features.SERVICE_DESK] # Disable unused feature (Auto DevOps) if project.auto_devops_enabled: project.auto_devops_enabled = False result += ['Auto DevOps'] result += [GitLabFeature.Features.AUTO_DEVOPS] # Save project if not self.__dry_run: Loading