summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pyramid/scaffolds/starter/+package+/templates/mytemplate.pt_tmpl4
-rw-r--r--pyramid/scaffolds/starter/+package+/views.py_tmpl5
-rw-r--r--pyramid/scripts/pcreate.py13
-rw-r--r--pyramid/tests/test_scripts/test_pcreate.py58
4 files changed, 67 insertions, 13 deletions
diff --git a/pyramid/scaffolds/starter/+package+/templates/mytemplate.pt_tmpl b/pyramid/scaffolds/starter/+package+/templates/mytemplate.pt_tmpl
index 76451f9b5..5f860da26 100644
--- a/pyramid/scaffolds/starter/+package+/templates/mytemplate.pt_tmpl
+++ b/pyramid/scaffolds/starter/+package+/templates/mytemplate.pt_tmpl
@@ -41,8 +41,8 @@
<div class="row">
<div class="links">
<ul>
- <li class="current-version">Currently v1.5</li>
- <li><i class="glyphicon glyphicon-bookmark icon-muted"></i><a href="http://docs.pylonsproject.org">Docs</a></li>
+ <li class="current-version">Currently v${pyramid_version}</li>
+ <li><i class="glyphicon glyphicon-bookmark icon-muted"></i><a href="http://docs.pylonsproject.org/projects/pyramid/en/${pyramid_docs_branch}/">Docs</a></li>
<li><i class="glyphicon glyphicon-cog icon-muted"></i><a href="https://github.com/Pylons/pyramid">Github Project</a></li>
<li><i class="glyphicon glyphicon-globe icon-muted"></i><a href="irc://irc.freenode.net#pyramid">IRC Channel</a></li>
<li><i class="glyphicon glyphicon-home icon-muted"></i><a href="http://pylonsproject.org">Pylons Project</a></li>
diff --git a/pyramid/scaffolds/starter/+package+/views.py_tmpl b/pyramid/scaffolds/starter/+package+/views.py_tmpl
index ad9af7292..b7a50929c 100644
--- a/pyramid/scaffolds/starter/+package+/views.py_tmpl
+++ b/pyramid/scaffolds/starter/+package+/views.py_tmpl
@@ -3,4 +3,7 @@ from pyramid.view import view_config
@view_config(route_name='home', renderer='templates/mytemplate.pt')
def my_view(request):
- return {'project': '{{project}}'}
+ return {
+ 'project': '{{project}}',
+ 'pyramid_version': '{{pyramid_version}}',
+ 'pyramid_docs_branch': '{{pyramid_docs_branch}}'}
diff --git a/pyramid/scripts/pcreate.py b/pyramid/scripts/pcreate.py
index 9a3b53b33..32cb14ab0 100644
--- a/pyramid/scripts/pcreate.py
+++ b/pyramid/scripts/pcreate.py
@@ -53,6 +53,8 @@ class PCreateCommand(object):
action='store_true',
help='When a file would be overwritten, interrogate')
+ pyramid_dist = pkg_resources.get_distribution("pyramid")
+
def __init__(self, argv, quiet=False):
self.quiet = quiet
self.options, self.args = self.parser.parse_args(argv[1:])
@@ -82,10 +84,21 @@ class PCreateCommand(object):
pkg_name = _bad_chars_re.sub('', project_name.lower())
safe_name = pkg_resources.safe_name(project_name)
egg_name = pkg_resources.to_filename(safe_name)
+
+ # get pyramid package version
+ pyramid_version = self.pyramid_dist.version
+ # map pyramid package version of the documentation branch
+ if self.pyramid_dist.version[3:] == 'dev':
+ pyramid_docs_branch = 'latest'
+ else:
+ pyramid_docs_branch = "%s-branch" % self.pyramid_dist.version[:3]
+
vars = {
'project': project_name,
'package': pkg_name,
'egg': egg_name,
+ 'pyramid_version': pyramid_version,
+ 'pyramid_docs_branch': pyramid_docs_branch,
}
for scaffold_name in options.scaffold_name:
for scaffold in self.scaffolds:
diff --git a/pyramid/tests/test_scripts/test_pcreate.py b/pyramid/tests/test_scripts/test_pcreate.py
index 6516ac229..c247d06b4 100644
--- a/pyramid/tests/test_scripts/test_pcreate.py
+++ b/pyramid/tests/test_scripts/test_pcreate.py
@@ -7,7 +7,7 @@ class TestPCreateCommand(unittest.TestCase):
def out(self, msg):
self.out_.write(msg)
-
+
def _getTargetClass(self):
from pyramid.scripts.pcreate import PCreateCommand
return PCreateCommand
@@ -25,7 +25,7 @@ class TestPCreateCommand(unittest.TestCase):
self.assertEqual(result, 0)
out = self.out_.getvalue()
self.assertTrue(out.startswith('Available scaffolds'))
-
+
def test_run_show_scaffolds_none_exist(self):
cmd = self._makeOne('-l')
cmd.scaffolds = []
@@ -33,7 +33,7 @@ class TestPCreateCommand(unittest.TestCase):
self.assertEqual(result, 0)
out = self.out_.getvalue()
self.assertTrue(out.startswith('No scaffolds available'))
-
+
def test_run_no_scaffold_name(self):
cmd = self._makeOne()
result = cmd.run()
@@ -61,6 +61,7 @@ class TestPCreateCommand(unittest.TestCase):
cmd = self._makeOne('-s', 'dummy', 'Distro')
scaffold = DummyScaffold('dummy')
cmd.scaffolds = [scaffold]
+ cmd.pyramid_dist = DummyDist("0.1")
result = cmd.run()
self.assertEqual(result, 0)
self.assertEqual(
@@ -69,14 +70,17 @@ class TestPCreateCommand(unittest.TestCase):
)
self.assertEqual(
scaffold.vars,
- {'project': 'Distro', 'egg': 'Distro', 'package': 'distro'})
+ {'project': 'Distro', 'egg': 'Distro', 'package': 'distro',
+ 'pyramid_version': '0.1', 'pyramid_docs_branch':'0.1-branch'})
def test_known_scaffold_absolute_path(self):
import os
path = os.path.abspath('Distro')
cmd = self._makeOne('-s', 'dummy', path)
+ cmd.pyramid_dist = DummyDist("0.1")
scaffold = DummyScaffold('dummy')
cmd.scaffolds = [scaffold]
+ cmd.pyramid_dist = DummyDist("0.1")
result = cmd.run()
self.assertEqual(result, 0)
self.assertEqual(
@@ -85,7 +89,8 @@ class TestPCreateCommand(unittest.TestCase):
)
self.assertEqual(
scaffold.vars,
- {'project': 'Distro', 'egg': 'Distro', 'package': 'distro'})
+ {'project': 'Distro', 'egg': 'Distro', 'package': 'distro',
+ 'pyramid_version': '0.1', 'pyramid_docs_branch':'0.1-branch'})
def test_known_scaffold_multiple_rendered(self):
import os
@@ -93,6 +98,7 @@ class TestPCreateCommand(unittest.TestCase):
scaffold1 = DummyScaffold('dummy1')
scaffold2 = DummyScaffold('dummy2')
cmd.scaffolds = [scaffold1, scaffold2]
+ cmd.pyramid_dist = DummyDist("0.1")
result = cmd.run()
self.assertEqual(result, 0)
self.assertEqual(
@@ -101,20 +107,23 @@ class TestPCreateCommand(unittest.TestCase):
)
self.assertEqual(
scaffold1.vars,
- {'project': 'Distro', 'egg': 'Distro', 'package': 'distro'})
+ {'project': 'Distro', 'egg': 'Distro', 'package': 'distro',
+ 'pyramid_version': '0.1', 'pyramid_docs_branch':'0.1-branch'})
self.assertEqual(
scaffold2.output_dir,
os.path.normpath(os.path.join(os.getcwd(), 'Distro'))
)
self.assertEqual(
scaffold2.vars,
- {'project': 'Distro', 'egg': 'Distro', 'package': 'distro'})
+ {'project': 'Distro', 'egg': 'Distro', 'package': 'distro',
+ 'pyramid_version': '0.1', 'pyramid_docs_branch':'0.1-branch'})
def test_known_scaffold_with_path_as_project_target_rendered(self):
import os
cmd = self._makeOne('-s', 'dummy', '/tmp/foo/Distro/')
scaffold = DummyScaffold('dummy')
cmd.scaffolds = [scaffold]
+ cmd.pyramid_dist = DummyDist("0.1")
result = cmd.run()
self.assertEqual(result, 0)
self.assertEqual(
@@ -123,8 +132,34 @@ class TestPCreateCommand(unittest.TestCase):
)
self.assertEqual(
scaffold.vars,
- {'project': 'Distro', 'egg': 'Distro', 'package': 'distro'})
-
+ {'project': 'Distro', 'egg': 'Distro', 'package': 'distro',
+ 'pyramid_version': '0.1', 'pyramid_docs_branch':'0.1-branch'})
+
+
+ def test_scaffold_with_prod_pyramid_version(self):
+ cmd = self._makeOne('-s', 'dummy', 'Distro')
+ scaffold = DummyScaffold('dummy')
+ cmd.scaffolds = [scaffold]
+ cmd.pyramid_dist = DummyDist("0.2")
+ result = cmd.run()
+ self.assertEqual(result, 0)
+ self.assertEqual(
+ scaffold.vars,
+ {'project': 'Distro', 'egg': 'Distro', 'package': 'distro',
+ 'pyramid_version': '0.2', 'pyramid_docs_branch':'0.2-branch'})
+
+ def test_scaffold_with_dev_pyramid_version(self):
+ cmd = self._makeOne('-s', 'dummy', 'Distro')
+ scaffold = DummyScaffold('dummy')
+ cmd.scaffolds = [scaffold]
+ cmd.pyramid_dist = DummyDist("0.2dev")
+ result = cmd.run()
+ self.assertEqual(result, 0)
+ self.assertEqual(
+ scaffold.vars,
+ {'project': 'Distro', 'egg': 'Distro', 'package': 'distro',
+ 'pyramid_version': '0.2dev', 'pyramid_docs_branch':'latest'})
+
class Test_main(unittest.TestCase):
def _callFUT(self, argv):
from pyramid.scripts.pcreate import main
@@ -142,4 +177,7 @@ class DummyScaffold(object):
self.command = command
self.output_dir = output_dir
self.vars = vars
-
+
+class DummyDist(object):
+ def __init__(self, version):
+ self.version = version