Merge branch 'zimmermann/import' of github.com:userzimmermann/bonobo into develop

This commit is contained in:
Romain Dorgueil
2017-10-28 14:16:08 +02:00
2 changed files with 29 additions and 22 deletions

View File

@ -1,10 +1,13 @@
import codecs import codecs
import os import os
import sys
from importlib.util import spec_from_file_location, module_from_spec
from pathlib import Path from pathlib import Path
from dotenv import load_dotenv
import bonobo import bonobo
from bonobo.constants import DEFAULT_SERVICES_ATTR, DEFAULT_SERVICES_FILENAME from bonobo.constants import DEFAULT_SERVICES_ATTR, DEFAULT_SERVICES_FILENAME
from dotenv import load_dotenv
DEFAULT_GRAPH_FILENAMES = ( DEFAULT_GRAPH_FILENAMES = (
'__main__.py', '__main__.py',
@ -47,17 +50,16 @@ def _install_requirements(requirements):
def read( def read(
filename, filename,
module, module,
install=False, install=False,
quiet=False, quiet=False,
verbose=False, verbose=False,
default_env_file=None, default_env_file=None,
default_env=None, default_env=None,
env_file=None, env_file=None,
env=None env=None
): ):
import runpy import runpy
from bonobo import Graph, settings from bonobo import Graph, settings
@ -83,7 +85,12 @@ def read(
elif install: elif install:
requirements = os.path.join(os.path.dirname(filename), 'requirements.txt') requirements = os.path.join(os.path.dirname(filename), 'requirements.txt')
_install_requirements(requirements) _install_requirements(requirements)
context = runpy.run_path(filename, run_name='__bonobo__') spec = spec_from_file_location('__bonobo__', filename)
main = sys.modules['__bonobo__'] = module_from_spec(spec)
main.__path__ = [os.path.dirname(filename)]
main.__package__ = '__bonobo__'
spec.loader.exec_module(main)
context = main.__dict__
elif module: elif module:
context = runpy.run_module(module, run_name='__bonobo__') context = runpy.run_module(module, run_name='__bonobo__')
filename = context['__file__'] filename = context['__file__']
@ -140,15 +147,15 @@ def set_env_var(e, override=False):
def execute( def execute(
filename, filename,
module, module,
install=False, install=False,
quiet=False, quiet=False,
verbose=False, verbose=False,
default_env_file=None, default_env_file=None,
default_env=None, default_env=None,
env_file=None, env_file=None,
env=None env=None
): ):
graph, plugins, services = read( graph, plugins, services = read(
filename, module, install, quiet, verbose, default_env_file, default_env, env_file, env filename, module, install, quiet, verbose, default_env_file, default_env, env_file, env

View File

@ -2,7 +2,7 @@
<p><a href="http://eepurl.com/csHFKL" target="_blank">Join announcements list</a>.</p> <p><a href="http://eepurl.com/csHFKL" target="_blank">Join announcements list</a>.</p>
<p><a href="https://twitter.com/monkcage" class="twitter-follow-button" data-show-count="false">Follow @monkcage</a> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script></p> <p><a href="https://twitter.com/bonobo_etl" class="twitter-follow-button" data-show-count="false">Follow @bonobo_etl</a> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script></p>
<p> <p>
<iframe src="http://ghbtns.com/github-btn.html?user=python-bonobo&repo=bonobo&type=watch&count=true&size=small" <iframe src="http://ghbtns.com/github-btn.html?user=python-bonobo&repo=bonobo&type=watch&count=true&size=small"