From 116ec77f7e2c06f06af94ced45b5b5ce71340455 Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Fri, 2 Dec 2011 14:59:11 -0500 Subject: prevent a scaffold rendering from being named site --- pyramid/scaffolds/__init__.py | 4 ++++ pyramid/tests/test_scaffolds/test_init.py | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/pyramid/scaffolds/__init__.py b/pyramid/scaffolds/__init__.py index dc6926024..50c04017a 100644 --- a/pyramid/scaffolds/__init__.py +++ b/pyramid/scaffolds/__init__.py @@ -7,6 +7,10 @@ from pyramid.scaffolds.template import Template class PyramidTemplate(Template): def pre(self, command, output_dir, vars): + if vars['package'] == 'site': + raise ValueError('Sorry, you may not name your package "site". ' + 'The package name "site" has a special meaning in ' + 'Python. Please name it anything except "site".') vars['random_string'] = native_(binascii.hexlify(os.urandom(20))) package_logger = vars['package'] if package_logger == 'root': diff --git a/pyramid/tests/test_scaffolds/test_init.py b/pyramid/tests/test_scaffolds/test_init.py index 6b038914a..4988e66ff 100644 --- a/pyramid/tests/test_scaffolds/test_init.py +++ b/pyramid/tests/test_scaffolds/test_init.py @@ -11,6 +11,11 @@ class TestPyramidTemplate(unittest.TestCase): inst.pre('command', 'output dir', vars) self.assertTrue(vars['random_string']) self.assertEqual(vars['package_logger'], 'one') + + def test_pre_site(self): + inst = self._makeOne() + vars = {'package':'site'} + self.assertRaises(ValueError, inst.pre, 'command', 'output dir', vars) def test_pre_root(self): inst = self._makeOne() -- cgit v1.2.3