summaryrefslogtreecommitdiff
path: root/docs/ext/docstrings.py
diff options
context:
space:
mode:
authorGauvain Pocentek <gauvain@pocentek.net>2016-11-05 18:43:19 +0100
committerGauvain Pocentek <gauvain@pocentek.net>2016-11-05 18:43:19 +0100
commit81e1c13e05172d86b613f13ddacc896db5ffd250 (patch)
tree5e9a67c993992163c2428d30f2cd8c2c04ac55f7 /docs/ext/docstrings.py
parent92180e47f76eaf293728cb1d463f601925404123 (diff)
downloadgitlab-81e1c13e05172d86b613f13ddacc896db5ffd250.tar.gz
Make the manager objects create mor dynamic
For the gitlab.Gitlab object make the detection of "submanagers" more dynamic. This will avoid duplication of definitions. Update the sphinx extension to add these managers in the list of attributes.
Diffstat (limited to 'docs/ext/docstrings.py')
-rw-r--r--docs/ext/docstrings.py18
1 files changed, 13 insertions, 5 deletions
diff --git a/docs/ext/docstrings.py b/docs/ext/docstrings.py
index b380b64..5e5f82f 100644
--- a/docs/ext/docstrings.py
+++ b/docs/ext/docstrings.py
@@ -45,9 +45,17 @@ class GitlabDocstring(GoogleDocstring):
def __init__(self, *args, **kwargs):
super(GitlabDocstring, self).__init__(*args, **kwargs)
- if hasattr(self._obj, 'obj_cls') and self._obj.obj_cls is not None:
- self._parsed_lines = self._build_doc('manager_tmpl.j2',
- cls=self._obj.obj_cls)
+ if getattr(self._obj, '__name__', None) == 'Gitlab':
+ mgrs = []
+ gl = self._obj('http://dummy', private_token='dummy')
+ for item in vars(gl).items():
+ if hasattr(item[1], 'obj_cls'):
+ mgrs.append(item)
+ self._parsed_lines.extend(self._build_doc('gl_tmpl.j2',
+ mgrs=sorted(mgrs)))
+ elif hasattr(self._obj, 'obj_cls') and self._obj.obj_cls is not None:
+ self._parsed_lines.extend(self._build_doc('manager_tmpl.j2',
+ cls=self._obj.obj_cls))
elif hasattr(self._obj, 'canUpdate') and self._obj.canUpdate:
- self._parsed_lines = self._build_doc('object_tmpl.j2',
- obj=self._obj)
+ self._parsed_lines.extend(self._build_doc('object_tmpl.j2',
+ obj=self._obj))