Rename "bonobo graph" to "bonobo inspect". For now, graphviz is default but there will probably be a humand default in the future, with graphviz source generation set if --graph (or -g) flag is passed.

This commit is contained in:
Romain Dorgueil
2017-09-30 11:01:53 +02:00
parent 0b1b052c54
commit 7ca3369f71
8 changed files with 48 additions and 51 deletions

View File

@ -1,7 +1,7 @@
# This file has been auto-generated. # This file has been auto-generated.
# All changes will be lost, see Projectfile. # All changes will be lost, see Projectfile.
# #
# Updated at 2017-09-30 10:24:51.699716 # Updated at 2017-09-30 10:57:00.855477
PACKAGE ?= bonobo PACKAGE ?= bonobo
PYTHON ?= $(shell which python) PYTHON ?= $(shell which python)

View File

@ -30,7 +30,7 @@ python.setup(
], ],
'bonobo.commands': [ 'bonobo.commands': [
'init = bonobo.commands.init:register', 'init = bonobo.commands.init:register',
'graph = bonobo.commands.graph:register', 'inspect = bonobo.commands.inspect:register',
'run = bonobo.commands.run:register', 'run = bonobo.commands.run:register',
'version = bonobo.commands.version:register', 'version = bonobo.commands.version:register',
], ],

View File

@ -1,32 +0,0 @@
import json
import itertools
from bonobo.util.objects import get_name
from bonobo.commands.run import read, register_generic_run_arguments
from bonobo.constants import BEGIN
def execute(filename, module, install=False, quiet=False, verbose=False):
graph, plugins, services = read(filename, module, install, quiet, verbose)
print('digraph {')
print(' rankdir = LR;')
print(' "BEGIN" [shape="point"];')
for i in graph.outputs_of(BEGIN):
print(' "BEGIN" -> ' + json.dumps(get_name(graph[i])) + ';')
for ix in graph.topologically_sorted_indexes:
for iy in graph.outputs_of(ix):
print(' {} -> {};'.format(
json.dumps(get_name(graph[ix])),
json.dumps(get_name(graph[iy]))
))
print('}')
def register(parser):
register_generic_run_arguments(parser)
return execute

View File

@ -0,0 +1,33 @@
import json
from bonobo.commands.run import read, register_generic_run_arguments
from bonobo.constants import BEGIN
from bonobo.util.objects import get_name
OUTPUT_GRAPHVIZ = 'graphviz'
def execute(*, output, **kwargs):
graph, plugins, services = read(**kwargs)
if output == OUTPUT_GRAPHVIZ:
print('digraph {')
print(' rankdir = LR;')
print(' "BEGIN" [shape="point"];')
for i in graph.outputs_of(BEGIN):
print(' "BEGIN" -> ' + json.dumps(get_name(graph[i])) + ';')
for ix in graph.topologically_sorted_indexes:
for iy in graph.outputs_of(ix):
print(' {} -> {};'.format(json.dumps(get_name(graph[ix])), json.dumps(get_name(graph[iy]))))
print('}')
else:
raise NotImplementedError('Output type not implemented.')
def register(parser):
register_generic_run_arguments(parser)
parser.add_argument('--graph', '-g', dest='output', action='store_const', const=OUTPUT_GRAPHVIZ)
parser.set_defaults(output=OUTPUT_GRAPHVIZ)
return execute

View File

@ -3,7 +3,7 @@ import os
import bonobo import bonobo
from bonobo.constants import DEFAULT_SERVICES_ATTR, DEFAULT_SERVICES_FILENAME from bonobo.constants import DEFAULT_SERVICES_ATTR, DEFAULT_SERVICES_FILENAME
DEFAULT_GRAPH_FILENAMES = ('__main__.py', 'main.py',) DEFAULT_GRAPH_FILENAMES = ('__main__.py', 'main.py', )
DEFAULT_GRAPH_ATTR = 'get_graph' DEFAULT_GRAPH_ATTR = 'get_graph'
@ -99,11 +99,7 @@ def read(filename, module, install=False, quiet=False, verbose=False, env=None):
def execute(filename, module, install=False, quiet=False, verbose=False, env=None): def execute(filename, module, install=False, quiet=False, verbose=False, env=None):
graph, plugins, services = read(filename, module, install, quiet, verbose, env) graph, plugins, services = read(filename, module, install, quiet, verbose, env)
return bonobo.run( return bonobo.run(graph, plugins=plugins, services=services)
graph,
plugins=plugins,
services=services
)
def register_generic_run_arguments(parser, required=True): def register_generic_run_arguments(parser, required=True):

View File

@ -1,4 +1,3 @@
def render_as_dot(graph): def render_as_dot(graph):
""" """
@ -6,4 +5,4 @@ def render_as_dot(graph):
:return: str :return: str
""" """
pass pass

View File

@ -67,7 +67,7 @@ setup(
}, },
entry_points={ entry_points={
'bonobo.commands': [ 'bonobo.commands': [
'init = bonobo.commands.init:register', 'graph = bonobo.commands.graph:register', 'init = bonobo.commands.init:register', 'inspect = bonobo.commands.inspect:register',
'run = bonobo.commands.run:register', 'version = bonobo.commands.version:register' 'run = bonobo.commands.run:register', 'version = bonobo.commands.version:register'
], ],
'console_scripts': ['bonobo = bonobo.commands:entrypoint'] 'console_scripts': ['bonobo = bonobo.commands:entrypoint']

View File

@ -101,11 +101,11 @@ def test_version(runner, capsys):
@all_runners @all_runners
def test_run_with_env(runner, capsys): def test_run_with_env(runner, capsys):
runner('run', '--quiet', runner(
str(pathlib.Path(os.path.dirname(__file__), 'run', '--quiet',
'util', 'get_passed_env.py')), str(pathlib.Path(os.path.dirname(__file__), 'util', 'get_passed_env.py')), '--env', 'ENV_TEST_NUMBER=123',
'--env', 'ENV_TEST_NUMBER=123', '--env', 'ENV_TEST_USER=cwandrews', '--env', 'ENV_TEST_USER=cwandrews', '--env', "ENV_TEST_STRING='my_test_string'"
'--env', "ENV_TEST_STRING='my_test_string'") )
out, err = capsys.readouterr() out, err = capsys.readouterr()
out = out.split('\n') out = out.split('\n')
assert out[0] == 'cwandrews' assert out[0] == 'cwandrews'
@ -115,9 +115,10 @@ def test_run_with_env(runner, capsys):
@all_runners @all_runners
def test_run_module_with_env(runner, capsys): def test_run_module_with_env(runner, capsys):
runner('run', '--quiet', '-m', 'tests.util.get_passed_env', runner(
'--env', 'ENV_TEST_NUMBER=123', '--env', 'ENV_TEST_USER=cwandrews', 'run', '--quiet', '-m', 'tests.util.get_passed_env', '--env', 'ENV_TEST_NUMBER=123', '--env',
'--env', "ENV_TEST_STRING='my_test_string'") 'ENV_TEST_USER=cwandrews', '--env', "ENV_TEST_STRING='my_test_string'"
)
out, err = capsys.readouterr() out, err = capsys.readouterr()
out = out.split('\n') out = out.split('\n')
assert out[0] == 'cwandrews' assert out[0] == 'cwandrews'