fix the api.spec file does not get the class comment problem (#18439)

* fix the api.spec file does not get the class comment problem

* cat new.spec

* check api.spec

* test=develop
sum_op
tianshuo78520a 6 years ago committed by Tao Luo
parent 357311fdb7
commit 85b49d8473

File diff suppressed because it is too large Load Diff

@ -37,28 +37,36 @@ def md5(doc):
return hash.hexdigest()
def queue_dict(member, cur_name):
try:
doc = ('document', md5(member.__doc__))
if inspect.isclass(member):
args = member.__module__ + "." + member.__name__
else:
args = inspect.getargspec(member)
all = (args, doc)
member_dict[cur_name] = all
except TypeError: # special for PyBind method
if cur_name in check_modules_list:
return
member_dict[cur_name] = " ".join([
line.strip() for line in pydoc.render_doc(member).split('\n')
if "->" in line
])
def visit_member(parent_name, member):
if parent_name + member.__name__ in experimental_namespace:
return
cur_name = ".".join([parent_name, member.__name__])
if inspect.isclass(member):
queue_dict(member, cur_name)
for name, value in inspect.getmembers(member):
if hasattr(value, '__name__') and (not name.startswith("_") or
name == "__init__"):
visit_member(cur_name, value)
elif callable(member):
try:
doc = ('document', md5(member.__doc__))
args = inspect.getargspec(member)
all = (args, doc)
member_dict[cur_name] = all
except TypeError: # special for PyBind method
if cur_name in check_modules_list:
return
member_dict[cur_name] = " ".join([
line.strip() for line in pydoc.render_doc(member).split('\n')
if "->" in line
])
queue_dict(member, cur_name)
elif inspect.isgetsetdescriptor(member):
return
else:

Loading…
Cancel
Save