diff options
author | Gauvain Pocentek <gauvain@pocentek.net> | 2016-11-05 14:11:40 +0100 |
---|---|---|
committer | Gauvain Pocentek <gauvain@pocentek.net> | 2016-11-05 14:11:40 +0100 |
commit | 7cfbe872faaae1aee67893ba8e8dc39b7ee56f84 (patch) | |
tree | 8808d629bb4c92baabf008179452f512b893030b /docs/ext/docstrings.py | |
parent | 6c0a3d9a5473c82a69a80302622fe0e63d0fb799 (diff) | |
download | gitlab-7cfbe872faaae1aee67893ba8e8dc39b7ee56f84.tar.gz |
Sphinx ext: factorize the build methods
Diffstat (limited to 'docs/ext/docstrings.py')
-rw-r--r-- | docs/ext/docstrings.py | 33 |
1 files changed, 10 insertions, 23 deletions
diff --git a/docs/ext/docstrings.py b/docs/ext/docstrings.py index cd019ee..b380b64 100644 --- a/docs/ext/docstrings.py +++ b/docs/ext/docstrings.py @@ -33,27 +33,12 @@ def _process_docstring(app, what, name, obj, options, lines): class GitlabDocstring(GoogleDocstring): - _j2_env = None - - def _build_j2_env(self): - if self._j2_env is None: - self._j2_env = jinja2.Environment(loader=jinja2.FileSystemLoader( - os.path.dirname(__file__)), trim_blocks=False) - self._j2_env.filters['classref'] = classref - - return self._j2_env - - def _build_manager_doc(self): - env = self._build_j2_env() - template = env.get_template('manager_tmpl.j2') - output = template.render(cls=self._obj.obj_cls) - - return output.split('\n') - - def _build_object_doc(self): - env = self._build_j2_env() - template = env.get_template('object_tmpl.j2') - output = template.render(obj=self._obj) + def _build_doc(self, tmpl, **kwargs): + env = jinja2.Environment(loader=jinja2.FileSystemLoader( + os.path.dirname(__file__)), trim_blocks=False) + env.filters['classref'] = classref + template = env.get_template(tmpl) + output = template.render(**kwargs) return output.split('\n') @@ -61,6 +46,8 @@ class GitlabDocstring(GoogleDocstring): 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_manager_doc() + self._parsed_lines = 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_object_doc() + self._parsed_lines = self._build_doc('object_tmpl.j2', + obj=self._obj) |