diff options
author | John L. Villalovos <john@sodarock.com> | 2021-03-07 09:16:45 -0800 |
---|---|---|
committer | John L. Villalovos <john@sodarock.com> | 2021-03-07 09:30:22 -0800 |
commit | 924f83eb4b5e160bd231efc38e2eea0231fa311f (patch) | |
tree | 2d66f0ad7b2accd1b584aafd55c22aaf595d660e /gitlab/mixins.py | |
parent | 48fc907403b630f069dfd63fada73f96a8c6e983 (diff) | |
download | gitlab-924f83eb4b5e160bd231efc38e2eea0231fa311f.tar.gz |
chore: make _types always present in RESTManager
We now create _types = {} in RESTManager class.
By making _types always present in RESTManager it makes the code
simpler. We no longer have to do:
types = getattr(self, "_types", {})
And the type checker now understands the type.
Diffstat (limited to 'gitlab/mixins.py')
-rw-r--r-- | gitlab/mixins.py | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/gitlab/mixins.py b/gitlab/mixins.py index 520ce87..b2c246e 100644 --- a/gitlab/mixins.py +++ b/gitlab/mixins.py @@ -226,9 +226,8 @@ class ListMixin(_RestManagerBase): data.setdefault("order_by", self.gitlab.order_by) # We get the attributes that need some special transformation - types = getattr(self, "_types", {}) - if types: - for attr_name, type_cls in types.items(): + if self._types: + for attr_name, type_cls in self._types.items(): if attr_name in data.keys(): type_obj = type_cls(data[attr_name]) data[attr_name] = type_obj.get_for_api() @@ -311,17 +310,16 @@ class CreateMixin(_RestManagerBase): files = {} # We get the attributes that need some special transformation - types = getattr(self, "_types", {}) - if types: + if self._types: # Duplicate data to avoid messing with what the user sent us data = data.copy() - for attr_name, type_cls in types.items(): + for attr_name, type_cls in self._types.items(): if attr_name in data.keys(): type_obj = type_cls(data[attr_name]) # if the type if FileAttribute we need to pass the data as # file - if issubclass(type_cls, g_types.FileAttribute): + if isinstance(type_obj, g_types.FileAttribute): k = type_obj.get_file_name(attr_name) files[attr_name] = (k, data.pop(attr_name)) else: @@ -414,17 +412,16 @@ class UpdateMixin(_RestManagerBase): files = {} # We get the attributes that need some special transformation - types = getattr(self, "_types", {}) - if types: + if self._types: # Duplicate data to avoid messing with what the user sent us new_data = new_data.copy() - for attr_name, type_cls in types.items(): + for attr_name, type_cls in self._types.items(): if attr_name in new_data.keys(): type_obj = type_cls(new_data[attr_name]) # if the type if FileAttribute we need to pass the data as # file - if issubclass(type_cls, g_types.FileAttribute): + if isinstance(type_obj, g_types.FileAttribute): k = type_obj.get_file_name(attr_name) files[attr_name] = (k, new_data.pop(attr_name)) else: |