summaryrefslogtreecommitdiff
path: root/gitlab/v4/objects/snippets.py
Commit message (Collapse)AuthorAgeFilesLines
* refactor: use f-strings for string formattingrefactor/f-stringsNejc Habjan2021-11-021-2/+2
|
* chore: convert to using type-annotations for managersJohn L. Villalovos2021-09-081-5/+0
| | | | | | | | | | | | | Convert our manager usage to be done via type annotations. Now to define a manager to be used in a RESTObject subclass can simply do: class ExampleClass(CRUDMixin, RESTObject): my_manager: MyManager Any type-annotation that annotates it to be of type *Manager (with the exception of RESTManager) will cause the manager to be created on the object.
* chore: improve type-hinting for managersJohn L. Villalovos2021-09-071-0/+4
| | | | | | | | | | | | | | | The 'managers' are dynamically created. This unfortunately means that we don't have any type-hints for them and so editors which understand type-hints won't know that they are valid attributes. * Add the type-hints for the managers we define. * Add a unit test that makes sure that the type-hints and the '_managers' attribute are kept in sync with each other. * Add unit test that makes sure specified managers in '_managers' have a name ending in 'Managers' to keep with current convention. * Make RESTObject._managers always present with a default value of None. * Fix a type-issue revealed now that mypy knows what the type is
* chore: fix import ordering using isortJohn L. Villalovos2021-05-251-2/+2
| | | | | | Fix the import ordering using isort. https://pycqa.github.io/isort/
* chore: fix F401 errors reported by flake8John L. Villalovos2021-04-181-3/+3
| | | | | | F401: Module imported but unused https://www.flake8rules.com/rules/F401.html
* chore: have _create_attrs & _update_attrs be a namedtupleJohn L. Villalovos2021-04-171-7/+13
| | | | | | Convert _create_attrs and _update_attrs to use a NamedTuple (RequiredOptional) to help with code readability. Update all code to use the NamedTuple.
* chore: remove usage of 'from ... import *'John L. Villalovos2021-02-231-2/+2
| | | | | | | | | | | | | | | | | | In gitlab/v4/objects/*.py remove usage of: * from gitlab.base import * * from gitlab.mixins import * Change them to: * from gitlab.base import CLASS_NAME * from gitlab.mixins import CLASS_NAME Programmatically update code to explicitly import needed classes only. After the change the output of: $ flake8 gitlab/v4/objects/*py | grep 'REST\|Mixin' Is empty. Before many messages about unable to determine if it was a valid name.
* refactor(api): explicitly export classes for star importsrefactor/split-objectsNejc Habjan2021-02-071-1/+9
|
* refactor(v4): split objects and managers per API resourceNejc Habjan2021-02-071-0/+110