mirror of https://github.com/explosion/spaCy.git
Add util functions to print data as table or markdown list
This commit is contained in:
parent
6b9b444065
commit
0eafc0f2c6
|
@ -161,6 +161,50 @@ def parse_package_meta(package_path, package, require=True):
|
|||
return None
|
||||
|
||||
|
||||
def print_table(data, **kwargs):
|
||||
"""Print data in table format. Can either take a list of tuples or a
|
||||
dictionary, which will be converted to a list of tuples."""
|
||||
|
||||
if type(data) == dict:
|
||||
data = list(data.items())
|
||||
|
||||
tpl_msg = '\n{msg}\n'
|
||||
tpl_title = '\n \033[93m{msg}\033[0m'
|
||||
tpl_row =" {:<15}" * len(data[0])
|
||||
table = '\n'.join([tpl_row.format(l, v) for l, v in data])
|
||||
|
||||
if 'title' in kwargs and kwargs['title']:
|
||||
print(tpl_title.format(msg=kwargs['title']))
|
||||
|
||||
print(tpl_msg.format(msg=table))
|
||||
|
||||
|
||||
def print_markdown(data, **kwargs):
|
||||
"""Print listed data in GitHub-flavoured Markdown format so it can be
|
||||
copy-pasted into issues. Can either take a list of tuples or a dictionary,
|
||||
which will be converted to a list of tuples."""
|
||||
|
||||
def excl_value(value):
|
||||
# don't print value if it contains absolute path of directory
|
||||
# (i.e. personal info that shouldn't need to be shared)
|
||||
# other conditions can be included here if necessary
|
||||
if str(pathlib.Path(__file__).parent) in value:
|
||||
return True
|
||||
|
||||
if type(data) == dict:
|
||||
data = list(data.items())
|
||||
|
||||
tpl_msg = "\n{msg}\n"
|
||||
tpl_title = "\n## {msg}"
|
||||
tpl_row = "* **{l}:** {v}"
|
||||
markdown = '\n'.join([tpl_row.format(l=l, v=v) for l, v in data if not excl_value(v)])
|
||||
|
||||
if 'title' in kwargs and kwargs['title']:
|
||||
print(tpl_title.format(msg=kwargs['title']))
|
||||
|
||||
print(tpl_msg.format(msg=markdown))
|
||||
|
||||
|
||||
def print_msg(*text, **kwargs):
|
||||
"""Print formatted message. Each positional argument is rendered as newline-
|
||||
separated paragraph. If kwarg 'title' exist, title is printed above the text
|
||||
|
|
Loading…
Reference in New Issue