def translate_object(py_obj, body_only=False, enable_es6=False,
enable_stage3=False):
"""Translate the given Python 3 object (function, class, etc.) to ES6
Javascript.
If `body_only` is ``True``, the object itself is discarded and only its
body gets translated as it was a module body.
Return a ``(js_text, js_source_map)`` tuple.
"""
cwd = os.getcwd()
src_filename = os.path.abspath(inspect.getsourcefile(py_obj))
prefix = os.path.commonpath((cwd, src_filename))
if len(prefix) > 1:
src_filename = src_filename[len(prefix) + 1:]
src_lines, sline_offset = inspect.getsourcelines(py_obj)
# line offsets should be 0-based
sline_offset = sline_offset - 1
with open(src_filename) as f:
complete_src = f.read()
return translates(src_lines, True, src_filename, (sline_offset, 0),
body_only=body_only, complete_src=complete_src,
enable_es6=enable_es6, enable_stage3=enable_stage3)
评论列表
文章目录