summaryrefslogtreecommitdiff
path: root/gitlab/v4/objects/milestones.py
diff options
context:
space:
mode:
authorNejc Habjan <hab.nejc@gmail.com>2021-12-01 01:04:53 +0100
committerGitHub <noreply@github.com>2021-12-01 01:04:53 +0100
commit8d76826fa64460e504acc5924f859f8dbc246b42 (patch)
tree083fefada982c795e2415092794db429abb0c184 /gitlab/v4/objects/milestones.py
parent5a1678f43184bd459132102cc13cf8426fe0449d (diff)
parent86ab04e54ea4175f10053decfad5086cda7aa024 (diff)
downloadgitlab-master.tar.gz
Merge pull request #1723 from python-gitlab/jlvillal/dead_mastermaster
Close-out `master` branch
Diffstat (limited to 'gitlab/v4/objects/milestones.py')
-rw-r--r--gitlab/v4/objects/milestones.py164
1 files changed, 0 insertions, 164 deletions
diff --git a/gitlab/v4/objects/milestones.py b/gitlab/v4/objects/milestones.py
deleted file mode 100644
index 0a53e1b..0000000
--- a/gitlab/v4/objects/milestones.py
+++ /dev/null
@@ -1,164 +0,0 @@
-from gitlab import cli
-from gitlab import exceptions as exc
-from gitlab import types
-from gitlab.base import RequiredOptional, RESTManager, RESTObject, RESTObjectList
-from gitlab.mixins import CRUDMixin, ObjectDeleteMixin, SaveMixin
-
-from .issues import GroupIssue, GroupIssueManager, ProjectIssue, ProjectIssueManager
-from .merge_requests import (
- GroupMergeRequest,
- ProjectMergeRequest,
- ProjectMergeRequestManager,
-)
-
-__all__ = [
- "GroupMilestone",
- "GroupMilestoneManager",
- "ProjectMilestone",
- "ProjectMilestoneManager",
-]
-
-
-class GroupMilestone(SaveMixin, ObjectDeleteMixin, RESTObject):
- _short_print_attr = "title"
-
- @cli.register_custom_action("GroupMilestone")
- @exc.on_http_error(exc.GitlabListError)
- def issues(self, **kwargs):
- """List issues related to this milestone.
-
- Args:
- all (bool): If True, return all the items, without pagination
- per_page (int): Number of items to retrieve per request
- page (int): ID of the page to return (starts with page 1)
- as_list (bool): If set to False and no pagination option is
- defined, return a generator instead of a list
- **kwargs: Extra options to send to the server (e.g. sudo)
-
- Raises:
- GitlabAuthenticationError: If authentication is not correct
- GitlabListError: If the list could not be retrieved
-
- Returns:
- RESTObjectList: The list of issues
- """
-
- path = "%s/%s/issues" % (self.manager.path, self.get_id())
- data_list = self.manager.gitlab.http_list(path, as_list=False, **kwargs)
- manager = GroupIssueManager(self.manager.gitlab, parent=self.manager._parent)
- # FIXME(gpocentek): the computed manager path is not correct
- return RESTObjectList(manager, GroupIssue, data_list)
-
- @cli.register_custom_action("GroupMilestone")
- @exc.on_http_error(exc.GitlabListError)
- def merge_requests(self, **kwargs):
- """List the merge requests related to this milestone.
-
- Args:
- all (bool): If True, return all the items, without pagination
- per_page (int): Number of items to retrieve per request
- page (int): ID of the page to return (starts with page 1)
- as_list (bool): If set to False and no pagination option is
- defined, return a generator instead of a list
- **kwargs: Extra options to send to the server (e.g. sudo)
-
- Raises:
- GitlabAuthenticationError: If authentication is not correct
- GitlabListError: If the list could not be retrieved
-
- Returns:
- RESTObjectList: The list of merge requests
- """
- path = "%s/%s/merge_requests" % (self.manager.path, self.get_id())
- data_list = self.manager.gitlab.http_list(path, as_list=False, **kwargs)
- manager = GroupIssueManager(self.manager.gitlab, parent=self.manager._parent)
- # FIXME(gpocentek): the computed manager path is not correct
- return RESTObjectList(manager, GroupMergeRequest, data_list)
-
-
-class GroupMilestoneManager(CRUDMixin, RESTManager):
- _path = "/groups/%(group_id)s/milestones"
- _obj_cls = GroupMilestone
- _from_parent_attrs = {"group_id": "id"}
- _create_attrs = RequiredOptional(
- required=("title",), optional=("description", "due_date", "start_date")
- )
- _update_attrs = RequiredOptional(
- optional=("title", "description", "due_date", "start_date", "state_event"),
- )
- _list_filters = ("iids", "state", "search")
- _types = {"iids": types.ListAttribute}
-
-
-class ProjectMilestone(SaveMixin, ObjectDeleteMixin, RESTObject):
- _short_print_attr = "title"
-
- @cli.register_custom_action("ProjectMilestone")
- @exc.on_http_error(exc.GitlabListError)
- def issues(self, **kwargs):
- """List issues related to this milestone.
-
- Args:
- all (bool): If True, return all the items, without pagination
- per_page (int): Number of items to retrieve per request
- page (int): ID of the page to return (starts with page 1)
- as_list (bool): If set to False and no pagination option is
- defined, return a generator instead of a list
- **kwargs: Extra options to send to the server (e.g. sudo)
-
- Raises:
- GitlabAuthenticationError: If authentication is not correct
- GitlabListError: If the list could not be retrieved
-
- Returns:
- RESTObjectList: The list of issues
- """
-
- path = "%s/%s/issues" % (self.manager.path, self.get_id())
- data_list = self.manager.gitlab.http_list(path, as_list=False, **kwargs)
- manager = ProjectIssueManager(self.manager.gitlab, parent=self.manager._parent)
- # FIXME(gpocentek): the computed manager path is not correct
- return RESTObjectList(manager, ProjectIssue, data_list)
-
- @cli.register_custom_action("ProjectMilestone")
- @exc.on_http_error(exc.GitlabListError)
- def merge_requests(self, **kwargs):
- """List the merge requests related to this milestone.
-
- Args:
- all (bool): If True, return all the items, without pagination
- per_page (int): Number of items to retrieve per request
- page (int): ID of the page to return (starts with page 1)
- as_list (bool): If set to False and no pagination option is
- defined, return a generator instead of a list
- **kwargs: Extra options to send to the server (e.g. sudo)
-
- Raises:
- GitlabAuthenticationError: If authentication is not correct
- GitlabListError: If the list could not be retrieved
-
- Returns:
- RESTObjectList: The list of merge requests
- """
- path = "%s/%s/merge_requests" % (self.manager.path, self.get_id())
- data_list = self.manager.gitlab.http_list(path, as_list=False, **kwargs)
- manager = ProjectMergeRequestManager(
- self.manager.gitlab, parent=self.manager._parent
- )
- # FIXME(gpocentek): the computed manager path is not correct
- return RESTObjectList(manager, ProjectMergeRequest, data_list)
-
-
-class ProjectMilestoneManager(CRUDMixin, RESTManager):
- _path = "/projects/%(project_id)s/milestones"
- _obj_cls = ProjectMilestone
- _from_parent_attrs = {"project_id": "id"}
- _create_attrs = RequiredOptional(
- required=("title",),
- optional=("description", "due_date", "start_date", "state_event"),
- )
- _update_attrs = RequiredOptional(
- optional=("title", "description", "due_date", "start_date", "state_event"),
- )
- _list_filters = ("iids", "state", "search")
- _types = {"iids": types.ListAttribute}