Allow main as well as __main__.
This commit is contained in:
@ -1,4 +1,4 @@
|
|||||||
def execute(name):
|
def execute(name, branch):
|
||||||
try:
|
try:
|
||||||
from cookiecutter.main import cookiecutter
|
from cookiecutter.main import cookiecutter
|
||||||
except ImportError as exc:
|
except ImportError as exc:
|
||||||
@ -7,10 +7,12 @@ def execute(name):
|
|||||||
) from exc
|
) from exc
|
||||||
|
|
||||||
return cookiecutter(
|
return cookiecutter(
|
||||||
'https://github.com/python-bonobo/cookiecutter-bonobo.git', extra_context={'name': name}, no_input=True
|
'https://github.com/python-bonobo/cookiecutter-bonobo.git', extra_context={'name': name}, no_input=True,
|
||||||
|
checkout=branch
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def register(parser):
|
def register(parser):
|
||||||
parser.add_argument('name')
|
parser.add_argument('name')
|
||||||
|
parser.add_argument('--branch', '-b', default='master')
|
||||||
return execute
|
return execute
|
||||||
|
|||||||
@ -3,7 +3,7 @@ import os
|
|||||||
DEFAULT_SERVICES_FILENAME = '_services.py'
|
DEFAULT_SERVICES_FILENAME = '_services.py'
|
||||||
DEFAULT_SERVICES_ATTR = 'get_services'
|
DEFAULT_SERVICES_ATTR = 'get_services'
|
||||||
|
|
||||||
DEFAULT_GRAPH_FILENAME = '__main__.py'
|
DEFAULT_GRAPH_FILENAMES = ('__main__.py', 'main.py',)
|
||||||
DEFAULT_GRAPH_ATTR = 'get_graph'
|
DEFAULT_GRAPH_ATTR = 'get_graph'
|
||||||
|
|
||||||
|
|
||||||
@ -49,7 +49,14 @@ def execute(filename, module, install=False, quiet=False, verbose=False):
|
|||||||
pip.utils.pkg_resources = importlib.reload(pip.utils.pkg_resources)
|
pip.utils.pkg_resources = importlib.reload(pip.utils.pkg_resources)
|
||||||
import site
|
import site
|
||||||
importlib.reload(site)
|
importlib.reload(site)
|
||||||
filename = os.path.join(filename, DEFAULT_GRAPH_FILENAME)
|
|
||||||
|
pathname = filename
|
||||||
|
for filename in DEFAULT_GRAPH_FILENAMES:
|
||||||
|
filename = os.path.join(pathname, filename)
|
||||||
|
if os.path.exists(filename):
|
||||||
|
break
|
||||||
|
if not os.path.exists(filename):
|
||||||
|
raise IOError('Could not find entrypoint (candidates: {}).'.format(', '.join(DEFAULT_GRAPH_FILENAMES)))
|
||||||
elif install:
|
elif install:
|
||||||
raise RuntimeError('Cannot --install on a file (only available for dirs containing requirements.txt).')
|
raise RuntimeError('Cannot --install on a file (only available for dirs containing requirements.txt).')
|
||||||
context = runpy.run_path(filename, run_name='__bonobo__')
|
context = runpy.run_path(filename, run_name='__bonobo__')
|
||||||
|
|||||||
Reference in New Issue
Block a user