Skip to content
Snippets Groups Projects
Commit d8eabe79 authored by Jaden DIEFENBAUGH's avatar Jaden DIEFENBAUGH
Browse files

support both normal tc drawing & layout drawing, beat.editor#22

parent d51714a8
No related branches found
No related tags found
No related merge requests found
Pipeline #
......@@ -1265,7 +1265,7 @@ def push(webapi, prefix, type, names, fields, mappings, force, dry_run,
return 0
def dot_diagram(prefix, type, names, path, formats):
def dot_diagram(prefix, type, names, path, formats, is_layout):
"""Dumps DOT (Graphviz) diagrams of the given toolchains/experiments
......@@ -1290,6 +1290,8 @@ def dot_diagram(prefix, type, names, path, formats):
formats (list of str): A list of formats to dump. If not set or set to an
empty value, then dump dot/graphviz and png formats.
is_layout (bool): Whether to generate a dot diagram for humans (falsy) or
a dot diagram for beat.editor's toolchain layout functionality (truthy)
Returns:
......@@ -1322,7 +1324,8 @@ def dot_diagram(prefix, type, names, path, formats):
continue
try:
diagram = obj.dot_diagram()
print(is_layout)
diagram = obj.dot_diagram(None, None, None, None, is_layout)
except Exception as e:
logger.warn("%s/%s cannot be drawn: %s - skipping it", TYPE_PLURAL[type],
name, e)
......
......@@ -37,7 +37,7 @@
%(prog)s toolchains version <name>
%(prog)s toolchains fork <src> <dst>
%(prog)s toolchains rm [--remote] <name>...
%(prog)s toolchains draw [--path=<dir>] [<name>]...
%(prog)s toolchains draw [--layout] [--path=<dir>] [<name>]...
%(prog)s toolchains --help
......@@ -61,6 +61,7 @@ Options:
--remote Only acts on the remote copy of the toolchain
--path=<dir> Use path to write files to disk (instead of the current
directory)
--layout Generates a representation suitable for using as a layout in beat.editor
--help Display this screen
"""
......@@ -121,8 +122,9 @@ def process(args):
args['<name>'])
elif args['draw']:
print(args['--layout'])
return common.dot_diagram(args['config'].path, 'toolchain', args['<name>'],
args['--path'], [])
args['--path'], [], args['--layout'])
# Should not happen
logger.error("unrecognized `toolchains' subcommand")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment