diff options
| author | Robot Odoo <xmo+roboto@odoo.com> | 2019-02-19 08:09:28 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-02-19 08:09:28 +0100 |
| commit | d56402a5471a1efbda92a1dd2babf8a7d0cd7de0 (patch) | |
| tree | 794052970c2b06962b069bf87a49a95e64e1c465 /doc/_extensions/autojsdoc | |
| parent | 7cd45840fc9b7f678fb50512d6c6e9c2933bdce2 (diff) | |
| parent | f7e1f0645e93adb2eb78c383ac9bf9fbae80315c (diff) | |
[FIX] doc: build errors & some warnings
closes odoo/odoo#30835
Diffstat (limited to 'doc/_extensions/autojsdoc')
| -rw-r--r-- | doc/_extensions/autojsdoc/parser/jsdoc.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/doc/_extensions/autojsdoc/parser/jsdoc.py b/doc/_extensions/autojsdoc/parser/jsdoc.py index e6bd609f298..9e9b0ba441d 100644 --- a/doc/_extensions/autojsdoc/parser/jsdoc.py +++ b/doc/_extensions/autojsdoc/parser/jsdoc.py @@ -275,11 +275,26 @@ class ClassDoc(NSDoc): d['mixins'] = self.mixins return d +DEFAULT = object() class UnknownNS(NSDoc): + params = () # TODO: log warning when (somehow) trying to access / document an unknown object as ctor? def get_property(self, name): return super(UnknownNS, self).get_property(name) or \ UnknownNS({'name': '{}.{}'.format(self.name, name)}) + def __getitem__(self, item): + if self._probably_not_property(item): + return super().__getitem__(item) + return self.get_property(item) + + def _probably_not_property(self, item): + return ( + not isinstance(item, str) + or item in (self.namekey, 'name', 'params') + or item.startswith(('_', 'guessed_')) + or item in self.parsed + ) + class Unknown(CommentDoc): @classmethod def from_(cls, source): @@ -325,7 +340,7 @@ def parse_comments(comments, doctype=None): # in case a specific doctype is given, allow overriding it anyway return guess(parsed, default=doctype) -def guess(parsed, default=NSDoc): +def guess(parsed, default=UnknownNS): if 'class' in parsed: return ClassDoc(parsed) if 'function' in parsed: |
