From aee1f496c1f414c1e30909767d53ae624fe875e7 Mon Sep 17 00:00:00 2001 From: "John L. Villalovos" Date: Sun, 7 Mar 2021 11:31:23 -0800 Subject: 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. --- gitlab/v4/objects/variables.py | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) (limited to 'gitlab/v4/objects/variables.py') diff --git a/gitlab/v4/objects/variables.py b/gitlab/v4/objects/variables.py index 025e3be..54ee149 100644 --- a/gitlab/v4/objects/variables.py +++ b/gitlab/v4/objects/variables.py @@ -4,7 +4,7 @@ https://docs.gitlab.com/ee/api/instance_level_ci_variables.html https://docs.gitlab.com/ee/api/project_level_variables.html https://docs.gitlab.com/ee/api/group_level_variables.html """ -from gitlab.base import RESTManager, RESTObject +from gitlab.base import RequiredOptional, RESTManager, RESTObject from gitlab.mixins import CRUDMixin, ObjectDeleteMixin, SaveMixin @@ -25,8 +25,12 @@ class Variable(SaveMixin, ObjectDeleteMixin, RESTObject): class VariableManager(CRUDMixin, RESTManager): _path = "/admin/ci/variables" _obj_cls = Variable - _create_attrs = (("key", "value"), ("protected", "variable_type", "masked")) - _update_attrs = (("key", "value"), ("protected", "variable_type", "masked")) + _create_attrs = RequiredOptional( + required=("key", "value"), optional=("protected", "variable_type", "masked") + ) + _update_attrs = RequiredOptional( + required=("key", "value"), optional=("protected", "variable_type", "masked") + ) class GroupVariable(SaveMixin, ObjectDeleteMixin, RESTObject): @@ -37,8 +41,12 @@ class GroupVariableManager(CRUDMixin, RESTManager): _path = "/groups/%(group_id)s/variables" _obj_cls = GroupVariable _from_parent_attrs = {"group_id": "id"} - _create_attrs = (("key", "value"), ("protected", "variable_type", "masked")) - _update_attrs = (("key", "value"), ("protected", "variable_type", "masked")) + _create_attrs = RequiredOptional( + required=("key", "value"), optional=("protected", "variable_type", "masked") + ) + _update_attrs = RequiredOptional( + required=("key", "value"), optional=("protected", "variable_type", "masked") + ) class ProjectVariable(SaveMixin, ObjectDeleteMixin, RESTObject): @@ -49,11 +57,11 @@ class ProjectVariableManager(CRUDMixin, RESTManager): _path = "/projects/%(project_id)s/variables" _obj_cls = ProjectVariable _from_parent_attrs = {"project_id": "id"} - _create_attrs = ( - ("key", "value"), - ("protected", "variable_type", "masked", "environment_scope"), + _create_attrs = RequiredOptional( + required=("key", "value"), + optional=("protected", "variable_type", "masked", "environment_scope"), ) - _update_attrs = ( - ("key", "value"), - ("protected", "variable_type", "masked", "environment_scope"), + _update_attrs = RequiredOptional( + required=("key", "value"), + optional=("protected", "variable_type", "masked", "environment_scope"), ) -- cgit v1.2.1