summaryrefslogtreecommitdiff
path: root/gitlab/v4/objects/snippets.py
diff options
context:
space:
mode:
authorJohn L. Villalovos <john@sodarock.com>2021-03-07 11:31:23 -0800
committerNejc Habjan <hab.nejc@gmail.com>2021-04-17 17:09:41 +0200
commitaee1f496c1f414c1e30909767d53ae624fe875e7 (patch)
tree04a7fe9d8f77cffeae733bb8dd3447911995f3a1 /gitlab/v4/objects/snippets.py
parent8603248f73d8c751023fbfd2a394c5b7d939af7f (diff)
downloadgitlab-aee1f496c1f414c1e30909767d53ae624fe875e7.tar.gz
chore: have _create_attrs & _update_attrs be a namedtuple
Convert _create_attrs and _update_attrs to use a NamedTuple (RequiredOptional) to help with code readability. Update all code to use the NamedTuple.
Diffstat (limited to 'gitlab/v4/objects/snippets.py')
-rw-r--r--gitlab/v4/objects/snippets.py20
1 files changed, 13 insertions, 7 deletions
diff --git a/gitlab/v4/objects/snippets.py b/gitlab/v4/objects/snippets.py
index 20db75f..6159442 100644
--- a/gitlab/v4/objects/snippets.py
+++ b/gitlab/v4/objects/snippets.py
@@ -1,6 +1,6 @@
from gitlab import cli, utils
from gitlab import exceptions as exc
-from gitlab.base import RESTManager, RESTObject
+from gitlab.base import RequiredOptional, RESTManager, RESTObject
from gitlab.mixins import CRUDMixin, ObjectDeleteMixin, SaveMixin, UserAgentDetailMixin
from .award_emojis import ProjectSnippetAwardEmojiManager
@@ -50,8 +50,12 @@ class Snippet(UserAgentDetailMixin, SaveMixin, ObjectDeleteMixin, RESTObject):
class SnippetManager(CRUDMixin, RESTManager):
_path = "/snippets"
_obj_cls = Snippet
- _create_attrs = (("title", "file_name", "content"), ("lifetime", "visibility"))
- _update_attrs = (tuple(), ("title", "file_name", "content", "visibility"))
+ _create_attrs = RequiredOptional(
+ required=("title", "file_name", "content"), optional=("lifetime", "visibility")
+ )
+ _update_attrs = RequiredOptional(
+ optional=("title", "file_name", "content", "visibility")
+ )
@cli.register_custom_action("SnippetManager")
def public(self, **kwargs):
@@ -111,8 +115,10 @@ class ProjectSnippetManager(CRUDMixin, RESTManager):
_path = "/projects/%(project_id)s/snippets"
_obj_cls = ProjectSnippet
_from_parent_attrs = {"project_id": "id"}
- _create_attrs = (("title", "file_name", "content", "visibility"), ("description",))
- _update_attrs = (
- tuple(),
- ("title", "file_name", "content", "visibility", "description"),
+ _create_attrs = RequiredOptional(
+ required=("title", "file_name", "content", "visibility"),
+ optional=("description",),
+ )
+ _update_attrs = RequiredOptional(
+ optional=("title", "file_name", "content", "visibility", "description"),
)