diff options
Diffstat (limited to 'docs/ext')
-rw-r--r-- | docs/ext/docstrings.py | 18 | ||||
-rw-r--r-- | docs/ext/gl_tmpl.j2 | 5 |
2 files changed, 18 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)) diff --git a/docs/ext/gl_tmpl.j2 b/docs/ext/gl_tmpl.j2 new file mode 100644 index 0000000..dbccbcc --- /dev/null +++ b/docs/ext/gl_tmpl.j2 @@ -0,0 +1,5 @@ +{% for attr, mgr in mgrs %} +.. attribute:: {{ attr }} + + {{ mgr.__class__ | classref() }} manager for {{ mgr.obj_cls | classref() }} objects. +{% endfor %} |