From 357327295281d5f70be9611cac81c932f2db0cd4 Mon Sep 17 00:00:00 2001 From: Catherine Devlin <catherine.devlin@gsa.gov> Date: Sun, 6 Mar 2016 05:05:24 -0500 Subject: [PATCH] Protect from bad (non-importable) repo names, like those with dashes --- cookiecutter.json | 2 +- hooks/pre_gen_project.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 hooks/pre_gen_project.py diff --git a/cookiecutter.json b/cookiecutter.json index ef4dc6412..28d31fe36 100644 --- a/cookiecutter.json +++ b/cookiecutter.json @@ -1,6 +1,6 @@ { "project_name": "project_name", - "repo_name": "{{ cookiecutter.project_name|replace(' ', '_') }}", + "repo_name": "{{ cookiecutter.project_name|replace(' ', '_')|replace('-', '_') }}", "author_name": "Your Name", "email": "Your email", "description": "A short description of the project.", diff --git a/hooks/pre_gen_project.py b/hooks/pre_gen_project.py new file mode 100644 index 000000000..1e8c0a78a --- /dev/null +++ b/hooks/pre_gen_project.py @@ -0,0 +1,4 @@ +repo_name = '{{ cookiecutter.repo_name }}' + +if hasattr(repo_name, 'isidentifier'): + assert repo_name.isidentifier(), 'Repo name should be valid Python identifier!'