diff options
author | John L. Villalovos <john@sodarock.com> | 2021-03-07 11:31:23 -0800 |
---|---|---|
committer | Nejc Habjan <hab.nejc@gmail.com> | 2021-04-17 17:09:41 +0200 |
commit | aee1f496c1f414c1e30909767d53ae624fe875e7 (patch) | |
tree | 04a7fe9d8f77cffeae733bb8dd3447911995f3a1 /gitlab/v4/objects/snippets.py | |
parent | 8603248f73d8c751023fbfd2a394c5b7d939af7f (diff) | |
download | gitlab-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.py | 20 |
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"), ) |