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!'