diff options
| author | John L. Villalovos <john@sodarock.com> | 2021-06-13 14:40:46 -0700 |
|---|---|---|
| committer | John L. Villalovos <john@sodarock.com> | 2021-09-08 07:18:48 -0700 |
| commit | d8de4dc373dc608be6cf6ba14a2acc7efd3fa7a7 (patch) | |
| tree | d587e4cb383b136cd9947377e43bd52900121994 /gitlab/v4/objects/projects.py | |
| parent | c9b5d3bac8f7c1f779dd57653f718dd0fac4db4b (diff) | |
| download | gitlab-d8de4dc373dc608be6cf6ba14a2acc7efd3fa7a7.tar.gz | |
chore: convert to using type-annotations for managers
Convert our manager usage to be done via type annotations.
Now to define a manager to be used in a RESTObject subclass can simply
do:
class ExampleClass(CRUDMixin, RESTObject):
my_manager: MyManager
Any type-annotation that annotates it to be of type *Manager (with the
exception of RESTManager) will cause the manager to be created on the
object.
Diffstat (limited to 'gitlab/v4/objects/projects.py')
| -rw-r--r-- | gitlab/v4/objects/projects.py | 57 |
1 files changed, 1 insertions, 56 deletions
diff --git a/gitlab/v4/objects/projects.py b/gitlab/v4/objects/projects.py index 71d4564..8392dda 100644 --- a/gitlab/v4/objects/projects.py +++ b/gitlab/v4/objects/projects.py @@ -135,7 +135,7 @@ class Project(RefreshMixin, SaveMixin, ObjectDeleteMixin, RepositoryMixin, RESTO imports: ProjectImportManager issues: ProjectIssueManager issues_statistics: ProjectIssuesStatisticsManager - issuesstatistics: ProjectIssuesStatisticsManager + issuesstatistics: ProjectIssuesStatisticsManager # Deprecated jobs: ProjectJobManager keys: ProjectKeyManager labels: ProjectLabelManager @@ -164,61 +164,6 @@ class Project(RefreshMixin, SaveMixin, ObjectDeleteMixin, RepositoryMixin, RESTO variables: ProjectVariableManager wikis: ProjectWikiManager - _managers = ( - ("access_tokens", "ProjectAccessTokenManager"), - ("accessrequests", "ProjectAccessRequestManager"), - ("additionalstatistics", "ProjectAdditionalStatisticsManager"), - ("approvalrules", "ProjectApprovalRuleManager"), - ("approvals", "ProjectApprovalManager"), - ("audit_events", "ProjectAuditEventManager"), - ("badges", "ProjectBadgeManager"), - ("boards", "ProjectBoardManager"), - ("branches", "ProjectBranchManager"), - ("clusters", "ProjectClusterManager"), - ("commits", "ProjectCommitManager"), - ("customattributes", "ProjectCustomAttributeManager"), - ("deployments", "ProjectDeploymentManager"), - ("deploytokens", "ProjectDeployTokenManager"), - ("environments", "ProjectEnvironmentManager"), - ("events", "ProjectEventManager"), - ("exports", "ProjectExportManager"), - ("files", "ProjectFileManager"), - ("forks", "ProjectForkManager"), - ("generic_packages", "GenericPackageManager"), - ("hooks", "ProjectHookManager"), - ("imports", "ProjectImportManager"), - ("issues", "ProjectIssueManager"), - ("issues_statistics", "ProjectIssuesStatisticsManager"), - ("issuesstatistics", "ProjectIssuesStatisticsManager"), # Deprecated - ("jobs", "ProjectJobManager"), - ("keys", "ProjectKeyManager"), - ("labels", "ProjectLabelManager"), - ("members", "ProjectMemberManager"), - ("members_all", "ProjectMemberAllManager"), - ("mergerequests", "ProjectMergeRequestManager"), - ("milestones", "ProjectMilestoneManager"), - ("notes", "ProjectNoteManager"), - ("notificationsettings", "ProjectNotificationSettingsManager"), - ("packages", "ProjectPackageManager"), - ("pagesdomains", "ProjectPagesDomainManager"), - ("pipelines", "ProjectPipelineManager"), - ("pipelineschedules", "ProjectPipelineScheduleManager"), - ("protectedbranches", "ProjectProtectedBranchManager"), - ("protectedtags", "ProjectProtectedTagManager"), - ("pushrules", "ProjectPushRulesManager"), - ("releases", "ProjectReleaseManager"), - ("remote_mirrors", "ProjectRemoteMirrorManager"), - ("repositories", "ProjectRegistryRepositoryManager"), - ("runners", "ProjectRunnerManager"), - ("services", "ProjectServiceManager"), - ("snippets", "ProjectSnippetManager"), - ("tags", "ProjectTagManager"), - ("triggers", "ProjectTriggerManager"), - ("users", "ProjectUserManager"), - ("variables", "ProjectVariableManager"), - ("wikis", "ProjectWikiManager"), - ) - @cli.register_custom_action("Project", ("forked_from_id",)) @exc.on_http_error(exc.GitlabCreateError) def create_fork_relation(self, forked_from_id: int, **kwargs: Any) -> None: |
