From c16531ef948d16c694a492549adad00d6a54f483 Mon Sep 17 00:00:00 2001 From: Sergey Motornyuk Date: Thu, 21 Nov 2019 14:19:47 +0200 Subject: [PATCH 1/2] [#5079] use cookiecutter only as extension template engine --- ckan/cli/generate.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/ckan/cli/generate.py b/ckan/cli/generate.py index ab82209e945..197d75bfc9d 100644 --- a/ckan/cli/generate.py +++ b/ckan/cli/generate.py @@ -4,13 +4,21 @@ import sys import click from ckan.cli import error_shout -from cookiecutter.main import cookiecutter @click.group(name=u'generate', - short_help=u"Generate empty extension files to expand CKAN.") + short_help=u"Generate empty extension files to expand CKAN.", + invoke_without_command=True, +) def generate(): - pass + try: + from cookiecutter.main import cookiecutter + except ImportError: + error_shout(u"`cookiecutter` library is missing from import path.") + error_shout(u"Make sure you have dev-dependencies installed:") + error_shout(u"\tpip install -r dev-requirements.txt") + raise click.Abort() + @generate.command(name=u'extension', short_help=u"Create empty extension.") @@ -18,6 +26,7 @@ def generate(): u"template.", default=u'.') def extension(output_dir): + from cookiecutter.main import cookiecutter cur_loc = os.path.dirname(os.path.abspath(__file__)) os.chdir(cur_loc) os.chdir(u'../../contrib/cookiecutter/ckan_extension/') From 34800583ff497e27dfc3360261f78be1c0e1ec93 Mon Sep 17 00:00:00 2001 From: Sergey Motornyuk Date: Thu, 21 Nov 2019 15:06:04 +0200 Subject: [PATCH 2/2] Fix pep8 issues --- ckan/cli/generate.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ckan/cli/generate.py b/ckan/cli/generate.py index 197d75bfc9d..acb09817cdc 100644 --- a/ckan/cli/generate.py +++ b/ckan/cli/generate.py @@ -6,9 +6,10 @@ from ckan.cli import error_shout -@click.group(name=u'generate', - short_help=u"Generate empty extension files to expand CKAN.", - invoke_without_command=True, +@click.group( + name=u'generate', + short_help=u"Generate empty extension files to expand CKAN.", + invoke_without_command=True, ) def generate(): try: @@ -20,7 +21,6 @@ def generate(): raise click.Abort() - @generate.command(name=u'extension', short_help=u"Create empty extension.") @click.option(u'-o', u'--output-dir', help=u"Location to put the generated " u"template.",