Chris McDonough
2014-01-22 dec681201ec50c261bde022ea09d24f09e3588bd
Merge branch 'master' of github.com:Pylons/pyramid
30 files deleted
13 files added
25 files modified
2958 ■■■■■ changed files
CHANGES.txt 115 ●●●●● patch | view | raw | blame | history
docs/narr/MyProject/development.ini 22 ●●●● patch | view | raw | blame | history
docs/narr/MyProject/myproject/static/favicon.ico patch | view | raw | blame | history
docs/narr/MyProject/myproject/static/footerbg.png patch | view | raw | blame | history
docs/narr/MyProject/myproject/static/headerbg.png patch | view | raw | blame | history
docs/narr/MyProject/myproject/static/ie6.css 8 ●●●●● patch | view | raw | blame | history
docs/narr/MyProject/myproject/static/middlebg.png patch | view | raw | blame | history
docs/narr/MyProject/myproject/static/pylons.css 372 ●●●●● patch | view | raw | blame | history
docs/narr/MyProject/myproject/static/pyramid-16x16.png patch | view | raw | blame | history
docs/narr/MyProject/myproject/static/pyramid-small.png patch | view | raw | blame | history
docs/narr/MyProject/myproject/static/pyramid.png patch | view | raw | blame | history
docs/narr/MyProject/myproject/static/theme.css 152 ●●●●● patch | view | raw | blame | history
docs/narr/MyProject/myproject/static/theme.min.css 1 ●●●● patch | view | raw | blame | history
docs/narr/MyProject/myproject/static/transparent.gif patch | view | raw | blame | history
docs/narr/MyProject/myproject/templates/mytemplate.pt 132 ●●●● patch | view | raw | blame | history
docs/narr/MyProject/production.ini 16 ●●●● patch | view | raw | blame | history
docs/narr/MyProject/setup.py 1 ●●●● patch | view | raw | blame | history
docs/narr/commandline.rst 12 ●●●● patch | view | raw | blame | history
docs/narr/i18n.rst 6 ●●●●● patch | view | raw | blame | history
docs/narr/project-debug.png patch | view | raw | blame | history
docs/narr/project.png patch | view | raw | blame | history
docs/narr/project.rst 35 ●●●● patch | view | raw | blame | history
docs/narr/templates.rst 24 ●●●● patch | view | raw | blame | history
docs/narr/viewconfig.rst 16 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/views/tutorial/views.py 5 ●●●●● patch | view | raw | blame | history
pyramid/i18n.py 33 ●●●●● patch | view | raw | blame | history
pyramid/renderers.py 2 ●●● patch | view | raw | blame | history
pyramid/scaffolds/alchemy/+package+/static/favicon.ico patch | view | raw | blame | history
pyramid/scaffolds/alchemy/+package+/static/footerbg.png patch | view | raw | blame | history
pyramid/scaffolds/alchemy/+package+/static/headerbg.png patch | view | raw | blame | history
pyramid/scaffolds/alchemy/+package+/static/ie6.css 8 ●●●●● patch | view | raw | blame | history
pyramid/scaffolds/alchemy/+package+/static/middlebg.png patch | view | raw | blame | history
pyramid/scaffolds/alchemy/+package+/static/pylons.css 372 ●●●●● patch | view | raw | blame | history
pyramid/scaffolds/alchemy/+package+/static/pyramid-16x16.png patch | view | raw | blame | history
pyramid/scaffolds/alchemy/+package+/static/pyramid.png patch | view | raw | blame | history
pyramid/scaffolds/alchemy/+package+/static/theme.css 152 ●●●●● patch | view | raw | blame | history
pyramid/scaffolds/alchemy/+package+/static/theme.min.css 1 ●●●● patch | view | raw | blame | history
pyramid/scaffolds/alchemy/+package+/static/transparent.gif patch | view | raw | blame | history
pyramid/scaffolds/alchemy/+package+/templates/mytemplate.pt_tmpl 129 ●●●● patch | view | raw | blame | history
pyramid/scaffolds/starter/+package+/static/favicon.ico patch | view | raw | blame | history
pyramid/scaffolds/starter/+package+/static/footerbg.png patch | view | raw | blame | history
pyramid/scaffolds/starter/+package+/static/headerbg.png patch | view | raw | blame | history
pyramid/scaffolds/starter/+package+/static/ie6.css 8 ●●●●● patch | view | raw | blame | history
pyramid/scaffolds/starter/+package+/static/middlebg.png patch | view | raw | blame | history
pyramid/scaffolds/starter/+package+/static/pylons.css 372 ●●●●● patch | view | raw | blame | history
pyramid/scaffolds/starter/+package+/static/pyramid-16x16.png patch | view | raw | blame | history
pyramid/scaffolds/starter/+package+/static/pyramid.png patch | view | raw | blame | history
pyramid/scaffolds/starter/+package+/static/theme.css 152 ●●●●● patch | view | raw | blame | history
pyramid/scaffolds/starter/+package+/static/theme.min.css 1 ●●●● patch | view | raw | blame | history
pyramid/scaffolds/starter/+package+/static/transparent.gif patch | view | raw | blame | history
pyramid/scaffolds/starter/+package+/templates/mytemplate.pt_tmpl 129 ●●●● patch | view | raw | blame | history
pyramid/scaffolds/zodb/+package+/static/favicon.ico patch | view | raw | blame | history
pyramid/scaffolds/zodb/+package+/static/footerbg.png patch | view | raw | blame | history
pyramid/scaffolds/zodb/+package+/static/headerbg.png patch | view | raw | blame | history
pyramid/scaffolds/zodb/+package+/static/ie6.css 8 ●●●●● patch | view | raw | blame | history
pyramid/scaffolds/zodb/+package+/static/middlebg.png patch | view | raw | blame | history
pyramid/scaffolds/zodb/+package+/static/pylons.css 372 ●●●●● patch | view | raw | blame | history
pyramid/scaffolds/zodb/+package+/static/pyramid-16x16.png patch | view | raw | blame | history
pyramid/scaffolds/zodb/+package+/static/pyramid.png patch | view | raw | blame | history
pyramid/scaffolds/zodb/+package+/static/theme.css 152 ●●●●● patch | view | raw | blame | history
pyramid/scaffolds/zodb/+package+/static/theme.min.css 1 ●●●● patch | view | raw | blame | history
pyramid/scaffolds/zodb/+package+/static/transparent.gif patch | view | raw | blame | history
pyramid/scaffolds/zodb/+package+/templates/mytemplate.pt 73 ●●●●● patch | view | raw | blame | history
pyramid/scaffolds/zodb/+package+/templates/mytemplate.pt_tmpl 66 ●●●●● patch | view | raw | blame | history
pyramid/session.py 4 ●●●● patch | view | raw | blame | history
pyramid/tests/test_renderers.py 2 ●●● patch | view | raw | blame | history
pyramid/url.py 2 ●●● patch | view | raw | blame | history
setup.py 2 ●●● patch | view | raw | blame | history
CHANGES.txt
@@ -1,3 +1,20 @@
Next release
============
Features
--------
- Updated scaffolds with new theme, fixed documentation and sample project.
Bug Fixes
---------
- Depend on a newer version of WebOb so that we pull in some crucial bug-fixes
  that were showstoppers for functionality in Pyramid.
- Add a trailing semicolon to the JSONP response. This fixes JavaScript syntax
  errors for old IE versions. See https://github.com/Pylons/pyramid/pull/1205
1.5a3 (2013-12-10)
==================
@@ -74,14 +91,14 @@
Bug Fixes
---------
- Fix the ``pcreate`` script so that when the target directory name ends with a
  slash it does not produce a non-working project directory structure.
  Previously saying ``pcreate -s starter /foo/bar/`` produced different output
- Fix the ``pcreate`` script so that when the target directory name ends with a
  slash it does not produce a non-working project directory structure.
  Previously saying ``pcreate -s starter /foo/bar/`` produced different output
  than  saying ``pcreate -s starter /foo/bar``.  The former did not work
  properly.
- Fix the ``principals_allowed_by_permission`` method of
  ``ACLAuthorizationPolicy`` so it anticipates a callable ``__acl__``
- Fix the ``principals_allowed_by_permission`` method of
  ``ACLAuthorizationPolicy`` so it anticipates a callable ``__acl__``
  on resources.  Previously it did not try to call the ``__acl__``
  if it was callable.
@@ -108,7 +125,7 @@
- Added a "Quick Tutorial" to go with the Quick Tour
- Removed mention of ``pyramid_beaker`` from docs.  Beaker is no longer
- Removed mention of ``pyramid_beaker`` from docs.  Beaker is no longer
  maintained.  Point people at ``pyramid_redis_sessions`` instead.
- Add documentation for ``pyramid.interfaces.IRendererFactory`` and
@@ -131,12 +148,12 @@
  ill-defined and became unused when Mako and Chameleon template bindings were
  split into their own packages.
- The ``pyramid.session.UnencryptedCookieSessionFactoryConfig`` API has been
  deprecated and is superseded by the
- The ``pyramid.session.UnencryptedCookieSessionFactoryConfig`` API has been
  deprecated and is superseded by the
  ``pyramid.session.SignedCookieSessionFactory``.  Note that while the cookies
  generated by the ``UnencryptedCookieSessionFactoryConfig``
  are compatible with cookies generated by old releases, cookies generated by
  the SignedCookieSessionFactory are not. See
  the SignedCookieSessionFactory are not. See
  https://github.com/Pylons/pyramid/pull/1142
- The ``pyramid.security.has_permission`` API is now deprecated.  Instead, use
@@ -167,8 +184,8 @@
--------
- Users can now provide dotted Python names to as the ``factory`` argument
  the Configurator methods named ``add_{view,route,subscriber}_predicate``
  (instead of passing the predicate factory directly, you can pass a
  the Configurator methods named ``add_{view,route,subscriber}_predicate``
  (instead of passing the predicate factory directly, you can pass a
  dotted name which refers to the factory).
Bug Fixes
@@ -204,10 +221,10 @@
     ValueError: No such renderer factory .mak
  Support for Mako templating has been moved into an add-on package named
  ``pyramid_mako``, and support for Chameleon templating has been moved into
  an add-on package named ``pyramid_chameleon``.  These packages are drop-in
  replacements for the old built-in support for these templating langauges.
  Support for Mako templating has been moved into an add-on package named
  ``pyramid_mako``, and support for Chameleon templating has been moved into
  an add-on package named ``pyramid_chameleon``.  These packages are drop-in
  replacements for the old built-in support for these templating langauges.
  All you have to do is install them and make them active in your configuration
  to register renderer factories for ``.pt`` and/or ``.mako`` (or ``.mak``) to
  make your application work again.
@@ -230,9 +247,9 @@
            ],
        )
  * Within the portion of your application which instantiates a Pyramid
    ``pyramid.config.Configurator`` (often the ``main()`` function in
    your project's ``__init__.py`` file), tell Pyramid to include the
  * Within the portion of your application which instantiates a Pyramid
    ``pyramid.config.Configurator`` (often the ``main()`` function in
    your project's ``__init__.py`` file), tell Pyramid to include the
    ``pyramid_mako`` includeme::
        config = Configurator(.....)
@@ -242,7 +259,7 @@
  * Make sure the ``pyramid_chameleon`` package is installed.  One way to do
    this is by adding ``pyramid_chameleon`` to the ``install_requires`` section
    of your package's ``setup.py`` file and afterwards rerunning
    of your package's ``setup.py`` file and afterwards rerunning
    ``setup.py develop``::
        setup(
@@ -254,9 +271,9 @@
            ],
        )
  * Within the portion of your application which instantiates a Pyramid
    ``~pyramid.config.Configurator`` (often the ``main()`` function in
    your project's ``__init__.py`` file), tell Pyramid to include the
  * Within the portion of your application which instantiates a Pyramid
    ``~pyramid.config.Configurator`` (often the ``main()`` function in
    your project's ``__init__.py`` file), tell Pyramid to include the
    ``pyramid_chameleon`` includeme::
        config = Configurator(.....)
@@ -269,10 +286,10 @@
  compatibility when you eventually do upgrade to Pyramid 1.5.
  With the removal of Mako and Chameleon support from the core, some
  unit tests that use the ``pyramid.renderers.render*`` methods may begin to
  fail.  If any of your unit tests are invoking either
  unit tests that use the ``pyramid.renderers.render*`` methods may begin to
  fail.  If any of your unit tests are invoking either
  ``pyramid.renderers.render()``  or ``pyramid.renderers.render_to_response()``
  with either Mako or Chameleon templates then the
  with either Mako or Chameleon templates then the
  ``pyramid.config.Configurator`` instance in effect during
  the unit test should be also be updated to include the addons, as shown
  above. For example::
@@ -296,17 +313,17 @@
                result = pyramid.renderers.render('mypkg:templates/home.pt', {})
- If you're using the Pyramid debug toolbar, when you upgrade Pyramid to
  1.5a2+, you'll also need to upgrade the ``pyramid_debugtoolbar`` package to
  at least version 1.0.8, as older toolbar versions are not compatible with
  Pyramid 1.5a2+ due to the removal of Mako support from the core.  It's
  1.5a2+, you'll also need to upgrade the ``pyramid_debugtoolbar`` package to
  at least version 1.0.8, as older toolbar versions are not compatible with
  Pyramid 1.5a2+ due to the removal of Mako support from the core.  It's
  fine to use this newer version of the toolbar code with older Pyramids too.
- Removed the ``request.response_*`` varying attributes. These attributes
  have been deprecated since Pyramid 1.1, and as per the deprecation policy,
  have now been removed.
- ``request.response`` will no longer be mutated when using the
  ``pyramid.renderers.render()`` API.  Almost all renderers mutate the
- ``request.response`` will no longer be mutated when using the
  ``pyramid.renderers.render()`` API.  Almost all renderers mutate the
  ``request.response`` response object (for example, the JSON renderer sets
  ``request.response.content_type`` to ``application/json``), but this is
  only necessary when the renderer is generating a response; it was a bug
@@ -314,7 +331,7 @@
- Removed the ``bfg2pyramid`` fixer script.
- The ``pyramid.events.NewResponse`` event is now sent **after** response
- The ``pyramid.events.NewResponse`` event is now sent **after** response
  callbacks are executed.  It previously executed before response callbacks
  were executed.  Rationale: it's more useful to be able to inspect the response
  after response callbacks have done their jobs instead of before.
@@ -373,24 +390,24 @@
- A new http exception subclass named ``pyramid.httpexceptions.HTTPSuccessful``
  was added.  You can use this class as the ``context`` of an exception
  view to catch all 200-series "exceptions" (e.g. "raise HTTPOk").  This
  view to catch all 200-series "exceptions" (e.g. "raise HTTPOk").  This
  also allows you to catch *only* the ``HTTPOk`` exception itself; previously
  this was impossible because a number of other exceptions
  this was impossible because a number of other exceptions
  (such as ``HTTPNoContent``) inherited from ``HTTPOk``, but now they do not.
- You can now generate "hybrid" urldispatch/traversal URLs more easily
  by using the new ``route_name``, ``route_kw`` and ``route_remainder_name``
  by using the new ``route_name``, ``route_kw`` and ``route_remainder_name``
  arguments to  ``request.resource_url`` and ``request.resource_path``.  See
  the new section of the "Combining Traversal and URL Dispatch" documentation
  the new section of the "Combining Traversal and URL Dispatch" documentation
  chapter entitled  "Hybrid URL Generation".
- It is now possible to escape double braces in Pyramid scaffolds (unescaped,
- It is now possible to escape double braces in Pyramid scaffolds (unescaped,
  these represent replacement values).  You can use ``\{\{a\}\}`` to
  represent a "bare" ``{{a}}``.  See
  represent a "bare" ``{{a}}``.  See
  https://github.com/Pylons/pyramid/pull/862
- Add ``localizer`` and ``locale_name`` properties (reified) to the request.
  See https://github.com/Pylons/pyramid/issues/508.  Note that the
  See https://github.com/Pylons/pyramid/issues/508.  Note that the
  ``pyramid.i18n.get_localizer`` and ``pyramid.i18n.get_locale_name`` functions
  now simply look up these properties on the request.
@@ -440,7 +457,7 @@
  externally-hosted static URLs to be generated based on the current protocol.
- The ``AuthTktAuthenticationPolicy`` has two new options to configure its
  domain usage:
  domain usage:
  * ``parent_domain``: if set the authentication cookie is set on
    the parent domain. This is useful if you have multiple sites sharing the
@@ -529,7 +546,7 @@
- The ``pyramid.config.Configurator.add_route`` method now supports being
  called with an external URL as pattern. See
  https://github.com/Pylons/pyramid/issues/611 and the documentation section
  https://github.com/Pylons/pyramid/issues/611 and the documentation section
  in the "URL Dispatch" chapter entitled "External Routes" for more information.
Bug Fixes
@@ -537,17 +554,17 @@
- It was not possible to use ``pyramid.httpexceptions.HTTPException`` as
  the ``context`` of an exception view as very general catchall for
  http-related exceptions when you wanted that exception view to override the
  http-related exceptions when you wanted that exception view to override the
  default exception view.  See https://github.com/Pylons/pyramid/issues/985
- When the ``pyramid.reload_templates`` setting was true, and a Chameleon
  template was reloaded, and the renderer specification named a macro
- When the ``pyramid.reload_templates`` setting was true, and a Chameleon
  template was reloaded, and the renderer specification named a macro
  (e.g. ``foo#macroname.pt``), renderings of the template after the template
  was reloaded due to a file change would produce the entire template body
  instead of just a rendering of the macro.  See
  was reloaded due to a file change would produce the entire template body
  instead of just a rendering of the macro.  See
  https://github.com/Pylons/pyramid/issues/1013.
- Fix an obscure problem when combining a virtual root with a route with a
- Fix an obscure problem when combining a virtual root with a route with a
  ``*traverse`` in its pattern.  Now the traversal path generated in
  such a configuration will be correct, instead of an element missing
  a leading slash.
@@ -605,12 +622,12 @@
  previously returned the URL without the query string by default, it now does
  attach the query string unless it is overriden.
- The ``route_url`` and ``route_path`` APIs no longer quote ``/``
- The ``route_url`` and ``route_path`` APIs no longer quote ``/``
  to ``%2F`` when a replacement value contains a ``/``.  This was pointless,
  as WSGI servers always unquote the slash anyway, and Pyramid never sees the
  as WSGI servers always unquote the slash anyway, and Pyramid never sees the
  quoted value.
- It is no longer possible to set a ``locale_name`` attribute of the request,
- It is no longer possible to set a ``locale_name`` attribute of the request,
  nor is it possible to set a ``localizer`` attribute of the request.  These
  are now "reified" properties that look up a locale name and localizer
  respectively using the machinery described in the "Internationalization"
docs/narr/MyProject/development.ini
@@ -1,3 +1,8 @@
###
# app configuration
# http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/environment.html
###
[app:main]
use = egg:MyProject
@@ -6,15 +11,26 @@
pyramid.debug_notfound = false
pyramid.debug_routematch = false
pyramid.default_locale_name = en
pyramid.includes =
pyramid.includes =
    pyramid_debugtoolbar
# By default, the toolbar only appears for clients from IP addresses
# '127.0.0.1' and '::1'.
# debugtoolbar.hosts = 127.0.0.1 ::1
###
# wsgi server configuration
###
[server:main]
use = egg:waitress#main
host = 0.0.0.0
port = 6543
# Begin logging configuration
###
# logging configuration
# http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/logging.html
###
[loggers]
keys = root, myproject
@@ -42,5 +58,3 @@
[formatter_generic]
format = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s
# End logging configuration
docs/narr/MyProject/myproject/static/favicon.ico
Binary files differ
docs/narr/MyProject/myproject/static/footerbg.png
Binary files differ
docs/narr/MyProject/myproject/static/headerbg.png
Binary files differ
docs/narr/MyProject/myproject/static/ie6.css
File was deleted
docs/narr/MyProject/myproject/static/middlebg.png
Binary files differ
docs/narr/MyProject/myproject/static/pylons.css
File was deleted
docs/narr/MyProject/myproject/static/pyramid-16x16.png
docs/narr/MyProject/myproject/static/pyramid-small.png
Binary files differ
docs/narr/MyProject/myproject/static/pyramid.png

docs/narr/MyProject/myproject/static/theme.css
New file
@@ -0,0 +1,152 @@
@import url(//fonts.googleapis.com/css?family=Open+Sans:300,400,600,700);
body {
  font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
  color: #ffffff;
  background: #bc2131;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
}
p {
  font-weight: 300;
}
.font-normal {
  font-weight: 400;
}
.font-semi-bold {
  font-weight: 600;
}
.font-bold {
  font-weight: 700;
}
.starter-template {
  margin-top: 250px;
}
.starter-template .content {
  margin-left: 10px;
}
.starter-template .content h1 {
  margin-top: 10px;
  font-size: 60px;
}
.starter-template .content h1 .smaller {
  font-size: 40px;
  color: #f2b7bd;
}
.starter-template .content .lead {
  font-size: 25px;
  color: #f2b7bd;
}
.starter-template .content .lead .font-normal {
  color: #ffffff;
}
.starter-template .links {
  float: right;
  right: 0;
  margin-top: 125px;
}
.starter-template .links ul {
  display: block;
  padding: 0;
  margin: 0;
}
.starter-template .links ul li {
  list-style: none;
  display: inline;
  margin: 0 10px;
}
.starter-template .links ul li:first-child {
  margin-left: 0;
}
.starter-template .links ul li:last-child {
  margin-right: 0;
}
.starter-template .links ul li.current-version {
  color: #f2b7bd;
  font-weight: 400;
}
.starter-template .links ul li a {
  color: #ffffff;
}
.starter-template .links ul li a:hover {
  text-decoration: underline;
}
.starter-template .links ul li .icon-muted {
  color: #eb8b95;
  margin-right: 5px;
}
.starter-template .links ul li:hover .icon-muted {
  color: #ffffff;
}
.starter-template .copyright {
  margin-top: 10px;
  font-size: 0.9em;
  color: #f2b7bd;
  text-transform: lowercase;
  float: right;
  right: 0;
}
@media (max-width: 1199px) {
  .starter-template .content h1 {
    font-size: 45px;
  }
  .starter-template .content h1 .smaller {
    font-size: 30px;
  }
  .starter-template .content .lead {
    font-size: 20px;
  }
}
@media (max-width: 991px) {
  .starter-template {
    margin-top: 0;
  }
  .starter-template .logo {
    margin: 40px auto;
  }
  .starter-template .content {
    margin-left: 0;
    text-align: center;
  }
  .starter-template .content h1 {
    margin-bottom: 20px;
  }
  .starter-template .links {
    float: none;
    text-align: center;
    margin-top: 60px;
  }
  .starter-template .copyright {
    float: none;
    text-align: center;
  }
}
@media (max-width: 767px) {
  .starter-template .content h1 .smaller {
    font-size: 25px;
    display: block;
  }
  .starter-template .content .lead {
    font-size: 16px;
  }
  .starter-template .links {
    margin-top: 40px;
  }
  .starter-template .links ul li {
    display: block;
    margin: 0;
  }
  .starter-template .links ul li .icon-muted {
    display: none;
  }
  .starter-template .copyright {
    margin-top: 20px;
  }
}
docs/narr/MyProject/myproject/static/theme.min.css
New file
@@ -0,0 +1 @@
@import url(//fonts.googleapis.com/css?family=Open+Sans:300,400,600,700);body{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300;color:#fff;background:#bc2131}h1,h2,h3,h4,h5,h6{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300}p{font-weight:300}.font-normal{font-weight:400}.font-semi-bold{font-weight:600}.font-bold{font-weight:700}.starter-template{margin-top:250px}.starter-template .content{margin-left:10px}.starter-template .content h1{margin-top:10px;font-size:60px}.starter-template .content h1 .smaller{font-size:40px;color:#f2b7bd}.starter-template .content .lead{font-size:25px;color:#f2b7bd}.starter-template .content .lead .font-normal{color:#fff}.starter-template .links{float:right;right:0;margin-top:125px}.starter-template .links ul{display:block;padding:0;margin:0}.starter-template .links ul li{list-style:none;display:inline;margin:0 10px}.starter-template .links ul li:first-child{margin-left:0}.starter-template .links ul li:last-child{margin-right:0}.starter-template .links ul li.current-version{color:#f2b7bd;font-weight:400}.starter-template .links ul li a{color:#fff}.starter-template .links ul li a:hover{text-decoration:underline}.starter-template .links ul li .icon-muted{color:#eb8b95;margin-right:5px}.starter-template .links ul li:hover .icon-muted{color:#fff}.starter-template .copyright{margin-top:10px;font-size:.9em;color:#f2b7bd;text-transform:lowercase;float:right;right:0}@media (max-width:1199px){.starter-template .content h1{font-size:45px}.starter-template .content h1 .smaller{font-size:30px}.starter-template .content .lead{font-size:20px}}@media (max-width:991px){.starter-template{margin-top:0}.starter-template .logo{margin:40px auto}.starter-template .content{margin-left:0;text-align:center}.starter-template .content h1{margin-bottom:20px}.starter-template .links{float:none;text-align:center;margin-top:60px}.starter-template .copyright{float:none;text-align:center}}@media (max-width:767px){.starter-template .content h1 .smaller{font-size:25px;display:block}.starter-template .content .lead{font-size:16px}.starter-template .links{margin-top:40px}.starter-template .links ul li{display:block;margin:0}.starter-template .links ul li .icon-muted{display:none}.starter-template .copyright{margin-top:20px}}
docs/narr/MyProject/myproject/static/transparent.gif
Binary files differ
docs/narr/MyProject/myproject/templates/mytemplate.pt
@@ -1,76 +1,66 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:tal="http://xml.zope.org/namespaces/tal">
<head>
  <title>The Pyramid Web Framework</title>
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
  <meta name="keywords" content="python web application" />
  <meta name="description" content="pyramid web application" />
  <link rel="shortcut icon" href="/static/favicon.ico" />
  <link rel="stylesheet" href="/static/pylons.css" type="text/css" media="screen" charset="utf-8" />
  <link rel="stylesheet" href="http://static.pylonsproject.org/fonts/nobile/stylesheet.css" media="screen" />
  <link rel="stylesheet" href="http://static.pylonsproject.org/fonts/neuton/stylesheet.css" media="screen" />
  <!--[if lte IE 6]>
  <link rel="stylesheet" href="/static/ie6.css" type="text/css" media="screen" charset="utf-8" />
  <![endif]-->
</head>
<body>
  <div id="wrap">
    <div id="top">
      <div class="top align-center">
        <div><img src="/static/pyramid.png" width="750" height="169" alt="pyramid"/></div>
      </div>
    </div>
    <div id="middle">
      <div class="middle align-center">
        <p class="app-welcome">
          Welcome to <span class="app-name">${project}</span>, an application generated by<br/>
          the Pyramid Web Framework.
        </p>
      </div>
    </div>
    <div id="bottom">
      <div class="bottom">
        <div id="left" class="align-right">
          <h2>Search documentation</h2>
          <form method="get" action="http://docs.pylonsproject.org/projects/pyramid/current/search.html">
                <input type="text" id="q" name="q" value="" />
                <input type="submit" id="x" value="Go" />
            </form>
<!DOCTYPE html>
<html lang="${request.locale_name}">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="pyramid web application">
    <meta name="author" content="Pylons Project">
    <link rel="shortcut icon" href="${request.static_url('myproject:static/pyramid-16x16.png')}">
    <title>Starter Template for The Pyramid Web Framework</title>
    <!-- Bootstrap core CSS -->
    <link href="//oss.maxcdn.com/libs/twitter-bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
    <!-- Custom styles for this template -->
    <link href="${request.static_url('myproject:static/theme.css')}" rel="stylesheet">
    <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="//oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
      <script src="//oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
    <![endif]-->
  </head>
  <body>
    <div class="starter-template">
      <div class="container">
        <div class="row">
          <div class="col-md-2">
            <img class="logo img-responsive" src="${request.static_url('myproject:static/pyramid.png')}" alt="pyramid web framework">
          </div>
          <div class="col-md-10">
            <div class="content">
              <h1><span class="font-semi-bold">Pyramid</span> <span class="smaller">starter template</span></h1>
              <p class="lead">Welcome to <span class="font-normal">${project}</span>, an&nbsp;application generated&nbsp;by<br>the <span class="font-normal">Pyramid Web Framework</span>.</p>
            </div>
          </div>
        </div>
        <div id="right" class="align-left">
          <h2>Pyramid links</h2>
          <ul class="links">
            <li>
              <a href="http://pylonsproject.org">Pylons Website</a>
            </li>
            <li>
              <a href="http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch/#narrative-documentation">Narrative Documentation</a>
            </li>
            <li>
              <a href="http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch/#reference-material">API Documentation</a>
            </li>
            <li>
              <a href="http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch/#tutorials">Tutorials</a>
            </li>
            <li>
              <a href="http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch/#detailed-change-history">Change History</a>
            </li>
            <li>
              <a href="http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch/#sample-applications">Sample Applications</a>
            </li>
            <li>
              <a href="http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch/#support-and-development">Support and Development</a>
            </li>
            <li>
              <a href="irc://irc.freenode.net#pyramid">IRC Channel</a>
            </li>
            </ul>
        <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><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>
          </div>
        </div>
        <div class="row">
          <div class="copyright">
            Copyright © Pylons Project
          </div>
        </div>
      </div>
    </div>
  </div>
  <div id="footer">
    <div class="footer">&copy; Copyright 2008-2011, Agendaless Consulting.</div>
  </div>
</body>
    <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="//oss.maxcdn.com/libs/jquery/1.10.2/jquery.min.js"></script>
    <script src="//oss.maxcdn.com/libs/twitter-bootstrap/3.0.3/js/bootstrap.min.js"></script>
  </body>
</html>
docs/narr/MyProject/production.ini
@@ -1,3 +1,8 @@
###
# app configuration
# http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/environment.html
###
[app:main]
use = egg:MyProject
@@ -7,12 +12,19 @@
pyramid.debug_routematch = false
pyramid.default_locale_name = en
###
# wsgi server configuration
###
[server:main]
use = egg:waitress#main
host = 0.0.0.0
port = 6543
# Begin logging configuration
###
# logging configuration
# http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/logging.html
###
[loggers]
keys = root, myproject
@@ -40,5 +52,3 @@
[formatter_generic]
format = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s
# End logging configuration
docs/narr/MyProject/setup.py
@@ -40,4 +40,3 @@
      main = myproject:main
      """,
      )
docs/narr/commandline.rst
@@ -387,12 +387,12 @@
   Implicit Tween Chain (not used)
   Position    Name                                                Alias
   --------    ----                                                -----
   -           -                                                   INGRESS
   0           pyramid_debugtoolbar.toolbar.toolbar_tween_factory  pdbt
   1           pyramid.tweens.excview_tween_factory                excview
   -           -                                                   MAIN
   Position    Name
   --------    ----
   -           INGRESS
   0           pyramid_debugtoolbar.toolbar.toolbar_tween_factory
   1           pyramid.tweens.excview_tween_factory
   -           MAIN
Here's the application configuration section of the ``development.ini`` used
by the above ``ptweens`` command which reports that the explicit tween chain
docs/narr/i18n.rst
@@ -607,10 +607,8 @@
   def aview(request):
       localizer = request.localizer
       num = 1
       translated = localizer.pluralize(
                          _('item_plural', default="${number} items"),
                          None, num, 'mydomain', mapping={'number':num}
                          )
       translated = localizer.pluralize('item_plural', '${number} items',
           num, 'mydomain', mapping={'number':num})
The corresponding message catalog must have language plural definitions and
plural alternatives set.
docs/narr/project-debug.png

docs/narr/project.png

docs/narr/project.rst
@@ -487,23 +487,24 @@
.. code-block:: text
  MyProject/
  |-- CHANGES.txt
  |-- development.ini
  |-- MANIFEST.in
  |-- myproject
  |   |-- __init__.py
  |   |-- static
  |   |   |-- favicon.ico
  |   |   |-- logo.png
  |   |   `-- pylons.css
  |   |-- templates
  |   |   `-- mytemplate.pt
  |   |-- tests.py
  |   `-- views.py
  |-- production.ini
  |-- README.txt
  |-- setup.cfg
  `-- setup.py
  ├── CHANGES.txt
  ├── MANIFEST.in
  ├── README.txt
  ├── development.ini
  ├── myproject
  │   ├── __init__.py
  │   ├── static
  │   │   ├── pyramid-16x16.png
  │   │   ├── pyramid.png
  │   │   ├── theme.css
  │   │   └── theme.min.css
  │   ├── templates
  │   │   └── mytemplate.pt
  │   ├── tests.py
  │   └── views.py
  ├── production.ini
  ├── setup.cfg
  └── setup.py
The ``MyProject`` :term:`Project`
---------------------------------
docs/narr/templates.rst
@@ -38,8 +38,8 @@
   from pyramid.renderers import render_to_response
   def sample_view(request):
       return render_to_response('templates/foo.pt',
                                 {'foo':1, 'bar':2},
       return render_to_response('templates/foo.pt',
                                 {'foo':1, 'bar':2},
                                 request=request)
The ``sample_view`` :term:`view callable` function above returns a
@@ -56,7 +56,7 @@
defines the ``sample_view`` function.  Although a renderer path is
usually just a simple relative pathname, a path named as a renderer
can be absolute, starting with a slash on UNIX or a drive letter
prefix on Windows. The path can alternately be a
prefix on Windows. The path can alternately be an
:term:`asset specification` in the form
``some.dotted.package_name:relative/path``. This makes it possible to
address template assets which live in another package.  For example:
@@ -73,11 +73,11 @@
An asset specification points at a file within a Python *package*.
In this case, it points at a file named ``foo.pt`` within the
``templates`` directory of the ``mypackage`` package.  Using a
``templates`` directory of the ``mypackage`` package.  Using an
asset specification instead of a relative template name is usually
a good idea, because calls to :func:`~pyramid.renderers.render_to_response`
using asset specifications will continue to work properly if you move the
code containing them around.
code containing them to another location.
In the examples above we pass in a keyword argument named ``request``
representing the current :app:`Pyramid` request. Passing a request
@@ -94,8 +94,8 @@
which use a :term:`renderer` named via view configuration (which we'll
see shortly).  The :func:`pyramid.renderers.render_to_response`
function is a shortcut function that actually returns a response
object. This allows the example view above to simply return the result
of its call to ``render_to_response()`` directly.
object. This allows the example view above to simply return the result
of its call to ``render_to_response()`` directly.
Obviously not all APIs you might call to get response data will return a
response object. For example, you might render one or more templates to
@@ -111,8 +111,8 @@
   from pyramid.response import Response
   def sample_view(request):
       result = render('mypackage:templates/foo.pt',
                       {'foo':1, 'bar':2},
       result = render('mypackage:templates/foo.pt',
                       {'foo':1, 'bar':2},
                       request=request)
       response = Response(result)
       return response
@@ -194,7 +194,7 @@
   def sample_view(request):
       result = render('mypackage:templates/foo.pt',
                       {'foo':1, 'bar':2},
                       {'foo':1, 'bar':2},
                       request=request)
       response = Response(result)
       response.content_type = 'text/plain'
@@ -241,7 +241,7 @@
  The renderer name used to perform the rendering,
  e.g. ``mypackage:templates/foo.pt``.
``renderer_info``
``renderer_info``
  An object implementing the :class:`pyramid.interfaces.IRendererInfo`
  interface.  Basically, an object with the following attributes: ``name``,
  ``package`` and ``type``.
@@ -273,7 +273,7 @@
An alternative to using :func:`~pyramid.renderers.render_to_response`
to render templates manually in your view callable code, is
to specify the template as a :term:`renderer` in your
*view configuration*. This can be done with any of the
*view configuration*. This can be done with any of the
templating languages supported by :app:`Pyramid`.
To use a renderer via view configuration, specify a template
docs/narr/viewconfig.rst
@@ -217,7 +217,21 @@
  decorator function will be called with the view callable as a single
  argument.  The view callable it is passed will accept ``(context,
  request)``.  The decorator must return a replacement view callable which
  also accepts ``(context, request)``.
  also accepts ``(context, request)``. The ``decorator`` may also be an
  iterable of decorators, in which case they will be applied one after the
  other to the view, in reverse order. For example::
    @view_config(..., decorator=(decorator2, decorator1))
    def myview(request):
      ...
  Is similar to doing::
    @view_config(...)
    @decorator2
    @decorator1
    def myview(request):
      ...
``mapper``
  A Python object or :term:`dotted Python name` which refers to a :term:`view
docs/tutorials/wiki2/src/views/tutorial/views.py
@@ -1,3 +1,4 @@
import cgi
import re
from docutils.core import publish_parts
@@ -32,10 +33,10 @@
        exists = DBSession.query(Page).filter_by(name=word).all()
        if exists:
            view_url = request.route_url('view_page', pagename=word)
            return '<a href="%s">%s</a>' % (view_url, word)
            return '<a href="%s">%s</a>' % (view_url, cgi.escape(word))
        else:
            add_url = request.route_url('add_page', pagename=word)
            return '<a href="%s">%s</a>' % (add_url, word)
            return '<a href="%s">%s</a>' % (add_url, cgi.escape(word))
    content = publish_parts(page.data, writer_name='html')['html_body']
    content = wikiwords.sub(check, content)
pyramid/i18n.py
@@ -75,16 +75,16 @@
        :term:`message identifier` objects as a singular/plural pair
        and an ``n`` value representing the number that appears in the
        message using gettext plural forms support.  The ``singular``
        and ``plural`` objects passed may be translation strings or
        unicode strings.  ``n`` represents the number of elements.
        ``domain`` is the translation domain to use to do the
        pluralization, and ``mapping`` is the interpolation mapping
        that should be used on the result.  Note that if the objects
        passed are translation strings, their domains and mappings are
        ignored.  The domain and mapping arguments must be used
        instead.  If the ``domain`` is not supplied, a default domain
        is used (usually ``messages``).
        and ``plural`` objects should be unicode strings. There is no
        reason to use translation string objects as arguments as all
        metadata is ignored.
        ``n`` represents the number of elements. ``domain`` is the
        translation domain to use to do the pluralization, and ``mapping``
        is the interpolation mapping that should be used on the result. If
        the ``domain`` is not supplied, a default domain is used (usually
        ``messages``).
        Example::
           num = 1
@@ -93,6 +93,19 @@
                                            num,
                                            mapping={'num':num})
        If using the gettext plural support, which is required for
        languages that have pluralisation rules other than n != 1, the
        ``singular`` argument must be the message_id defined in the
        translation file. The plural argument is not used in this case.
        Example::
           num = 1
           translated = localizer.pluralize('item_plural',
                                            '',
                                            num,
                                            mapping={'num':num})
        
        """
        if self.pluralizer is None:
pyramid/renderers.py
@@ -363,7 +363,7 @@
                body = val
            else:
                ct = 'application/javascript'
                body = '%s(%s)' % (callback, val)
                body = '%s(%s);' % (callback, val)
            response = request.response
            if response.content_type == response.default_content_type:
                response.content_type = ct
pyramid/scaffolds/alchemy/+package+/static/favicon.ico
Binary files differ
pyramid/scaffolds/alchemy/+package+/static/footerbg.png
Binary files differ
pyramid/scaffolds/alchemy/+package+/static/headerbg.png
Binary files differ
pyramid/scaffolds/alchemy/+package+/static/ie6.css
File was deleted
pyramid/scaffolds/alchemy/+package+/static/middlebg.png
Binary files differ
pyramid/scaffolds/alchemy/+package+/static/pylons.css
File was deleted
pyramid/scaffolds/alchemy/+package+/static/pyramid-16x16.png
pyramid/scaffolds/alchemy/+package+/static/pyramid.png

pyramid/scaffolds/alchemy/+package+/static/theme.css
New file
@@ -0,0 +1,152 @@
@import url(//fonts.googleapis.com/css?family=Open+Sans:300,400,600,700);
body {
  font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
  color: #ffffff;
  background: #bc2131;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
}
p {
  font-weight: 300;
}
.font-normal {
  font-weight: 400;
}
.font-semi-bold {
  font-weight: 600;
}
.font-bold {
  font-weight: 700;
}
.starter-template {
  margin-top: 250px;
}
.starter-template .content {
  margin-left: 10px;
}
.starter-template .content h1 {
  margin-top: 10px;
  font-size: 60px;
}
.starter-template .content h1 .smaller {
  font-size: 40px;
  color: #f2b7bd;
}
.starter-template .content .lead {
  font-size: 25px;
  color: #f2b7bd;
}
.starter-template .content .lead .font-normal {
  color: #ffffff;
}
.starter-template .links {
  float: right;
  right: 0;
  margin-top: 125px;
}
.starter-template .links ul {
  display: block;
  padding: 0;
  margin: 0;
}
.starter-template .links ul li {
  list-style: none;
  display: inline;
  margin: 0 10px;
}
.starter-template .links ul li:first-child {
  margin-left: 0;
}
.starter-template .links ul li:last-child {
  margin-right: 0;
}
.starter-template .links ul li.current-version {
  color: #f2b7bd;
  font-weight: 400;
}
.starter-template .links ul li a {
  color: #ffffff;
}
.starter-template .links ul li a:hover {
  text-decoration: underline;
}
.starter-template .links ul li .icon-muted {
  color: #eb8b95;
  margin-right: 5px;
}
.starter-template .links ul li:hover .icon-muted {
  color: #ffffff;
}
.starter-template .copyright {
  margin-top: 10px;
  font-size: 0.9em;
  color: #f2b7bd;
  text-transform: lowercase;
  float: right;
  right: 0;
}
@media (max-width: 1199px) {
  .starter-template .content h1 {
    font-size: 45px;
  }
  .starter-template .content h1 .smaller {
    font-size: 30px;
  }
  .starter-template .content .lead {
    font-size: 20px;
  }
}
@media (max-width: 991px) {
  .starter-template {
    margin-top: 0;
  }
  .starter-template .logo {
    margin: 40px auto;
  }
  .starter-template .content {
    margin-left: 0;
    text-align: center;
  }
  .starter-template .content h1 {
    margin-bottom: 20px;
  }
  .starter-template .links {
    float: none;
    text-align: center;
    margin-top: 60px;
  }
  .starter-template .copyright {
    float: none;
    text-align: center;
  }
}
@media (max-width: 767px) {
  .starter-template .content h1 .smaller {
    font-size: 25px;
    display: block;
  }
  .starter-template .content .lead {
    font-size: 16px;
  }
  .starter-template .links {
    margin-top: 40px;
  }
  .starter-template .links ul li {
    display: block;
    margin: 0;
  }
  .starter-template .links ul li .icon-muted {
    display: none;
  }
  .starter-template .copyright {
    margin-top: 20px;
  }
}
pyramid/scaffolds/alchemy/+package+/static/theme.min.css
New file
@@ -0,0 +1 @@
@import url(//fonts.googleapis.com/css?family=Open+Sans:300,400,600,700);body{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300;color:#fff;background:#bc2131}h1,h2,h3,h4,h5,h6{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300}p{font-weight:300}.font-normal{font-weight:400}.font-semi-bold{font-weight:600}.font-bold{font-weight:700}.starter-template{margin-top:250px}.starter-template .content{margin-left:10px}.starter-template .content h1{margin-top:10px;font-size:60px}.starter-template .content h1 .smaller{font-size:40px;color:#f2b7bd}.starter-template .content .lead{font-size:25px;color:#f2b7bd}.starter-template .content .lead .font-normal{color:#fff}.starter-template .links{float:right;right:0;margin-top:125px}.starter-template .links ul{display:block;padding:0;margin:0}.starter-template .links ul li{list-style:none;display:inline;margin:0 10px}.starter-template .links ul li:first-child{margin-left:0}.starter-template .links ul li:last-child{margin-right:0}.starter-template .links ul li.current-version{color:#f2b7bd;font-weight:400}.starter-template .links ul li a{color:#fff}.starter-template .links ul li a:hover{text-decoration:underline}.starter-template .links ul li .icon-muted{color:#eb8b95;margin-right:5px}.starter-template .links ul li:hover .icon-muted{color:#fff}.starter-template .copyright{margin-top:10px;font-size:.9em;color:#f2b7bd;text-transform:lowercase;float:right;right:0}@media (max-width:1199px){.starter-template .content h1{font-size:45px}.starter-template .content h1 .smaller{font-size:30px}.starter-template .content .lead{font-size:20px}}@media (max-width:991px){.starter-template{margin-top:0}.starter-template .logo{margin:40px auto}.starter-template .content{margin-left:0;text-align:center}.starter-template .content h1{margin-bottom:20px}.starter-template .links{float:none;text-align:center;margin-top:60px}.starter-template .copyright{float:none;text-align:center}}@media (max-width:767px){.starter-template .content h1 .smaller{font-size:25px;display:block}.starter-template .content .lead{font-size:16px}.starter-template .links{margin-top:40px}.starter-template .links ul li{display:block;margin:0}.starter-template .links ul li .icon-muted{display:none}.starter-template .copyright{margin-top:20px}}
pyramid/scaffolds/alchemy/+package+/static/transparent.gif
Binary files differ
pyramid/scaffolds/alchemy/+package+/templates/mytemplate.pt_tmpl
@@ -1,73 +1,66 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:tal="http://xml.zope.org/namespaces/tal">
<head>
  <title>The Pyramid Web Framework</title>
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
  <meta name="keywords" content="python web application" />
  <meta name="description" content="pyramid web application" />
  <link rel="shortcut icon" href="${request.static_url('{{package}}:static/favicon.ico')}" />
  <link rel="stylesheet" href="${request.static_url('{{package}}:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" />
  <link rel="stylesheet" href="http://static.pylonsproject.org/fonts/nobile/stylesheet.css" media="screen" />
  <link rel="stylesheet" href="http://static.pylonsproject.org/fonts/neuton/stylesheet.css" media="screen" />
  <!--[if lte IE 6]>
  <link rel="stylesheet" href="${request.static_url('{{package}}:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" />
  <![endif]-->
</head>
<body>
  <div id="wrap">
    <div id="top">
      <div class="top align-center">
        <div><img src="${request.static_url('{{package}}:static/pyramid.png')}" width="750" height="169" alt="pyramid"/></div>
      </div>
    </div>
    <div id="middle">
      <div class="middle align-center">
        <p class="app-welcome">
          Welcome to <span class="app-name">${project}</span>, an application generated by<br/>
          the Pyramid Web Framework.
        </p>
      </div>
    </div>
    <div id="bottom">
      <div class="bottom">
        <div id="left" class="align-right">
          <h2>Search documentation</h2>
          <form method="get" action="http://docs.pylonsproject.org/projects/pyramid/en/1.4-branch/search.html">
                <input type="text" id="q" name="q" value="" />
                <input type="submit" id="x" value="Go" />
            </form>
<!DOCTYPE html>
<html lang="${request.locale_name}">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="pyramid web application">
    <meta name="author" content="Pylons Project">
    <link rel="shortcut icon" href="${request.static_url('{{package}}:static/pyramid-16x16.png')}">
    <title>Starter Template for The Pyramid Web Framework</title>
    <!-- Bootstrap core CSS -->
    <link href="//oss.maxcdn.com/libs/twitter-bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
    <!-- Custom styles for this template -->
    <link href="${request.static_url('{{package}}:static/theme.css')}" rel="stylesheet">
    <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="//oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
      <script src="//oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
    <![endif]-->
  </head>
  <body>
    <div class="starter-template">
      <div class="container">
        <div class="row">
          <div class="col-md-2">
            <img class="logo img-responsive" src="${request.static_url('{{package}}:static/pyramid.png')}" alt="pyramid web framework">
          </div>
          <div class="col-md-10">
            <div class="content">
              <h1><span class="font-semi-bold">Pyramid</span> <span class="smaller">starter template</span></h1>
              <p class="lead">Welcome to <span class="font-normal">${project}</span>, an&nbsp;application generated&nbsp;by<br>the <span class="font-normal">Pyramid Web Framework</span>.</p>
            </div>
          </div>
        </div>
        <div id="right" class="align-left">
          <h2>Pyramid links</h2>
          <ul class="links">
            <li>
              <a href="http://pylonsproject.org">Pylons Website</a>
            </li>
            <li>
              <a href="http://docs.pylonsproject.org/projects/pyramid/en/1.4-branch/#narrative-documentation">Narrative Documentation</a>
            </li>
            <li>
              <a href="http://docs.pylonsproject.org/projects/pyramid/en/1.4-branch/#reference-material">API Documentation</a>
            </li>
            <li>
              <a href="http://docs.pylonsproject.org/projects/pyramid/en/1.4-branch/#tutorials">Tutorials</a>
            </li>
            <li>
              <a href="http://docs.pylonsproject.org/projects/pyramid/en/1.4-branch/#detailed-change-history">Change History</a>
            </li>
            <li>
              <a href="http://docs.pylonsproject.org/projects/pyramid/en/1.4-branch/#sample-applications">Sample Applications</a>
            </li>
            <li>
              <a href="http://docs.pylonsproject.org/projects/pyramid/en/1.4-branch/#support-and-development">Support and Development</a>
            </li>
            <li>
              <a href="irc://irc.freenode.net#pyramid">IRC Channel</a>
            </li>
            </ul>
        <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><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>
          </div>
        </div>
        <div class="row">
          <div class="copyright">
            Copyright © Pylons Project
          </div>
        </div>
      </div>
    </div>
  </div>
</body>
    <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="//oss.maxcdn.com/libs/jquery/1.10.2/jquery.min.js"></script>
    <script src="//oss.maxcdn.com/libs/twitter-bootstrap/3.0.3/js/bootstrap.min.js"></script>
  </body>
</html>
pyramid/scaffolds/starter/+package+/static/favicon.ico
Binary files differ
pyramid/scaffolds/starter/+package+/static/footerbg.png
Binary files differ
pyramid/scaffolds/starter/+package+/static/headerbg.png
Binary files differ
pyramid/scaffolds/starter/+package+/static/ie6.css
File was deleted
pyramid/scaffolds/starter/+package+/static/middlebg.png
Binary files differ
pyramid/scaffolds/starter/+package+/static/pylons.css
File was deleted
pyramid/scaffolds/starter/+package+/static/pyramid-16x16.png
pyramid/scaffolds/starter/+package+/static/pyramid.png

pyramid/scaffolds/starter/+package+/static/theme.css
New file
@@ -0,0 +1,152 @@
@import url(//fonts.googleapis.com/css?family=Open+Sans:300,400,600,700);
body {
  font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
  color: #ffffff;
  background: #bc2131;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
}
p {
  font-weight: 300;
}
.font-normal {
  font-weight: 400;
}
.font-semi-bold {
  font-weight: 600;
}
.font-bold {
  font-weight: 700;
}
.starter-template {
  margin-top: 250px;
}
.starter-template .content {
  margin-left: 10px;
}
.starter-template .content h1 {
  margin-top: 10px;
  font-size: 60px;
}
.starter-template .content h1 .smaller {
  font-size: 40px;
  color: #f2b7bd;
}
.starter-template .content .lead {
  font-size: 25px;
  color: #f2b7bd;
}
.starter-template .content .lead .font-normal {
  color: #ffffff;
}
.starter-template .links {
  float: right;
  right: 0;
  margin-top: 125px;
}
.starter-template .links ul {
  display: block;
  padding: 0;
  margin: 0;
}
.starter-template .links ul li {
  list-style: none;
  display: inline;
  margin: 0 10px;
}
.starter-template .links ul li:first-child {
  margin-left: 0;
}
.starter-template .links ul li:last-child {
  margin-right: 0;
}
.starter-template .links ul li.current-version {
  color: #f2b7bd;
  font-weight: 400;
}
.starter-template .links ul li a {
  color: #ffffff;
}
.starter-template .links ul li a:hover {
  text-decoration: underline;
}
.starter-template .links ul li .icon-muted {
  color: #eb8b95;
  margin-right: 5px;
}
.starter-template .links ul li:hover .icon-muted {
  color: #ffffff;
}
.starter-template .copyright {
  margin-top: 10px;
  font-size: 0.9em;
  color: #f2b7bd;
  text-transform: lowercase;
  float: right;
  right: 0;
}
@media (max-width: 1199px) {
  .starter-template .content h1 {
    font-size: 45px;
  }
  .starter-template .content h1 .smaller {
    font-size: 30px;
  }
  .starter-template .content .lead {
    font-size: 20px;
  }
}
@media (max-width: 991px) {
  .starter-template {
    margin-top: 0;
  }
  .starter-template .logo {
    margin: 40px auto;
  }
  .starter-template .content {
    margin-left: 0;
    text-align: center;
  }
  .starter-template .content h1 {
    margin-bottom: 20px;
  }
  .starter-template .links {
    float: none;
    text-align: center;
    margin-top: 60px;
  }
  .starter-template .copyright {
    float: none;
    text-align: center;
  }
}
@media (max-width: 767px) {
  .starter-template .content h1 .smaller {
    font-size: 25px;
    display: block;
  }
  .starter-template .content .lead {
    font-size: 16px;
  }
  .starter-template .links {
    margin-top: 40px;
  }
  .starter-template .links ul li {
    display: block;
    margin: 0;
  }
  .starter-template .links ul li .icon-muted {
    display: none;
  }
  .starter-template .copyright {
    margin-top: 20px;
  }
}
pyramid/scaffolds/starter/+package+/static/theme.min.css
New file
@@ -0,0 +1 @@
@import url(//fonts.googleapis.com/css?family=Open+Sans:300,400,600,700);body{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300;color:#fff;background:#bc2131}h1,h2,h3,h4,h5,h6{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300}p{font-weight:300}.font-normal{font-weight:400}.font-semi-bold{font-weight:600}.font-bold{font-weight:700}.starter-template{margin-top:250px}.starter-template .content{margin-left:10px}.starter-template .content h1{margin-top:10px;font-size:60px}.starter-template .content h1 .smaller{font-size:40px;color:#f2b7bd}.starter-template .content .lead{font-size:25px;color:#f2b7bd}.starter-template .content .lead .font-normal{color:#fff}.starter-template .links{float:right;right:0;margin-top:125px}.starter-template .links ul{display:block;padding:0;margin:0}.starter-template .links ul li{list-style:none;display:inline;margin:0 10px}.starter-template .links ul li:first-child{margin-left:0}.starter-template .links ul li:last-child{margin-right:0}.starter-template .links ul li.current-version{color:#f2b7bd;font-weight:400}.starter-template .links ul li a{color:#fff}.starter-template .links ul li a:hover{text-decoration:underline}.starter-template .links ul li .icon-muted{color:#eb8b95;margin-right:5px}.starter-template .links ul li:hover .icon-muted{color:#fff}.starter-template .copyright{margin-top:10px;font-size:.9em;color:#f2b7bd;text-transform:lowercase;float:right;right:0}@media (max-width:1199px){.starter-template .content h1{font-size:45px}.starter-template .content h1 .smaller{font-size:30px}.starter-template .content .lead{font-size:20px}}@media (max-width:991px){.starter-template{margin-top:0}.starter-template .logo{margin:40px auto}.starter-template .content{margin-left:0;text-align:center}.starter-template .content h1{margin-bottom:20px}.starter-template .links{float:none;text-align:center;margin-top:60px}.starter-template .copyright{float:none;text-align:center}}@media (max-width:767px){.starter-template .content h1 .smaller{font-size:25px;display:block}.starter-template .content .lead{font-size:16px}.starter-template .links{margin-top:40px}.starter-template .links ul li{display:block;margin:0}.starter-template .links ul li .icon-muted{display:none}.starter-template .copyright{margin-top:20px}}
pyramid/scaffolds/starter/+package+/static/transparent.gif
Binary files differ
pyramid/scaffolds/starter/+package+/templates/mytemplate.pt_tmpl
@@ -1,73 +1,66 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:tal="http://xml.zope.org/namespaces/tal">
<head>
  <title>The Pyramid Web Framework</title>
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
  <meta name="keywords" content="python web application" />
  <meta name="description" content="pyramid web application" />
  <link rel="shortcut icon" href="${request.static_url('{{package}}:static/favicon.ico')}" />
  <link rel="stylesheet" href="${request.static_url('{{package}}:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" />
  <link rel="stylesheet" href="http://static.pylonsproject.org/fonts/nobile/stylesheet.css" media="screen" />
  <link rel="stylesheet" href="http://static.pylonsproject.org/fonts/neuton/stylesheet.css" media="screen" />
  <!--[if lte IE 6]>
  <link rel="stylesheet" href="${request.static_url('{{package}}:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" />
  <![endif]-->
</head>
<body>
  <div id="wrap">
    <div id="top">
      <div class="top align-center">
          <div><img src="${request.static_url('{{package}}:static/pyramid.png')}" width="750" height="169" alt="pyramid"/></div>
      </div>
    </div>
    <div id="middle">
      <div class="middle align-center">
        <p class="app-welcome">
          Welcome to <span class="app-name">${project}</span>, an application generated by<br/>
          the Pyramid Web Framework.
        </p>
      </div>
    </div>
    <div id="bottom">
      <div class="bottom">
        <div id="left" class="align-right">
          <h2>Search documentation</h2>
          <form method="get" action="http://docs.pylonsproject.org/projects/pyramid/en/1.4-branch/search.html">
                <input type="text" id="q" name="q" value="" />
                <input type="submit" id="x" value="Go" />
            </form>
<!DOCTYPE html>
<html lang="${request.locale_name}">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="pyramid web application">
    <meta name="author" content="Pylons Project">
    <link rel="shortcut icon" href="${request.static_url('{{package}}:static/pyramid-16x16.png')}">
    <title>Starter Template for The Pyramid Web Framework</title>
    <!-- Bootstrap core CSS -->
    <link href="//oss.maxcdn.com/libs/twitter-bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
    <!-- Custom styles for this template -->
    <link href="${request.static_url('{{package}}:static/theme.css')}" rel="stylesheet">
    <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="//oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
      <script src="//oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
    <![endif]-->
  </head>
  <body>
    <div class="starter-template">
      <div class="container">
        <div class="row">
          <div class="col-md-2">
            <img class="logo img-responsive" src="${request.static_url('{{package}}:static/pyramid.png')}" alt="pyramid web framework">
          </div>
          <div class="col-md-10">
            <div class="content">
              <h1><span class="font-semi-bold">Pyramid</span> <span class="smaller">starter template</span></h1>
              <p class="lead">Welcome to <span class="font-normal">${project}</span>, an&nbsp;application generated&nbsp;by<br>the <span class="font-normal">Pyramid Web Framework</span>.</p>
            </div>
          </div>
        </div>
        <div id="right" class="align-left">
          <h2>Pyramid links</h2>
          <ul class="links">
            <li>
              <a href="http://pylonsproject.org">Pylons Website</a>
            </li>
            <li>
              <a href="http://docs.pylonsproject.org/projects/pyramid/en/1.4-branch/#narrative-documentation">Narrative Documentation</a>
            </li>
            <li>
              <a href="http://docs.pylonsproject.org/projects/pyramid/en/1.4-branch/#reference-material">API Documentation</a>
            </li>
            <li>
              <a href="http://docs.pylonsproject.org/projects/pyramid/en/1.4-branch/#tutorials">Tutorials</a>
            </li>
            <li>
              <a href="http://docs.pylonsproject.org/projects/pyramid/en/1.4-branch/#detailed-change-history">Change History</a>
            </li>
            <li>
              <a href="http://docs.pylonsproject.org/projects/pyramid/en/1.4-branch/#sample-applications">Sample Applications</a>
            </li>
            <li>
              <a href="http://docs.pylonsproject.org/projects/pyramid/en/1.4-branch/#support-and-development">Support and Development</a>
            </li>
            <li>
              <a href="irc://irc.freenode.net#pyramid">IRC Channel</a>
            </li>
            </ul>
        <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><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>
          </div>
        </div>
        <div class="row">
          <div class="copyright">
            Copyright © Pylons Project
          </div>
        </div>
      </div>
    </div>
  </div>
</body>
    <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="//oss.maxcdn.com/libs/jquery/1.10.2/jquery.min.js"></script>
    <script src="//oss.maxcdn.com/libs/twitter-bootstrap/3.0.3/js/bootstrap.min.js"></script>
  </body>
</html>
pyramid/scaffolds/zodb/+package+/static/favicon.ico
Binary files differ
pyramid/scaffolds/zodb/+package+/static/footerbg.png
Binary files differ
pyramid/scaffolds/zodb/+package+/static/headerbg.png
Binary files differ
pyramid/scaffolds/zodb/+package+/static/ie6.css
File was deleted
pyramid/scaffolds/zodb/+package+/static/middlebg.png
Binary files differ
pyramid/scaffolds/zodb/+package+/static/pylons.css
File was deleted
pyramid/scaffolds/zodb/+package+/static/pyramid-16x16.png
pyramid/scaffolds/zodb/+package+/static/pyramid.png

pyramid/scaffolds/zodb/+package+/static/theme.css
New file
@@ -0,0 +1,152 @@
@import url(//fonts.googleapis.com/css?family=Open+Sans:300,400,600,700);
body {
  font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
  color: #ffffff;
  background: #bc2131;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
}
p {
  font-weight: 300;
}
.font-normal {
  font-weight: 400;
}
.font-semi-bold {
  font-weight: 600;
}
.font-bold {
  font-weight: 700;
}
.starter-template {
  margin-top: 250px;
}
.starter-template .content {
  margin-left: 10px;
}
.starter-template .content h1 {
  margin-top: 10px;
  font-size: 60px;
}
.starter-template .content h1 .smaller {
  font-size: 40px;
  color: #f2b7bd;
}
.starter-template .content .lead {
  font-size: 25px;
  color: #f2b7bd;
}
.starter-template .content .lead .font-normal {
  color: #ffffff;
}
.starter-template .links {
  float: right;
  right: 0;
  margin-top: 125px;
}
.starter-template .links ul {
  display: block;
  padding: 0;
  margin: 0;
}
.starter-template .links ul li {
  list-style: none;
  display: inline;
  margin: 0 10px;
}
.starter-template .links ul li:first-child {
  margin-left: 0;
}
.starter-template .links ul li:last-child {
  margin-right: 0;
}
.starter-template .links ul li.current-version {
  color: #f2b7bd;
  font-weight: 400;
}
.starter-template .links ul li a {
  color: #ffffff;
}
.starter-template .links ul li a:hover {
  text-decoration: underline;
}
.starter-template .links ul li .icon-muted {
  color: #eb8b95;
  margin-right: 5px;
}
.starter-template .links ul li:hover .icon-muted {
  color: #ffffff;
}
.starter-template .copyright {
  margin-top: 10px;
  font-size: 0.9em;
  color: #f2b7bd;
  text-transform: lowercase;
  float: right;
  right: 0;
}
@media (max-width: 1199px) {
  .starter-template .content h1 {
    font-size: 45px;
  }
  .starter-template .content h1 .smaller {
    font-size: 30px;
  }
  .starter-template .content .lead {
    font-size: 20px;
  }
}
@media (max-width: 991px) {
  .starter-template {
    margin-top: 0;
  }
  .starter-template .logo {
    margin: 40px auto;
  }
  .starter-template .content {
    margin-left: 0;
    text-align: center;
  }
  .starter-template .content h1 {
    margin-bottom: 20px;
  }
  .starter-template .links {
    float: none;
    text-align: center;
    margin-top: 60px;
  }
  .starter-template .copyright {
    float: none;
    text-align: center;
  }
}
@media (max-width: 767px) {
  .starter-template .content h1 .smaller {
    font-size: 25px;
    display: block;
  }
  .starter-template .content .lead {
    font-size: 16px;
  }
  .starter-template .links {
    margin-top: 40px;
  }
  .starter-template .links ul li {
    display: block;
    margin: 0;
  }
  .starter-template .links ul li .icon-muted {
    display: none;
  }
  .starter-template .copyright {
    margin-top: 20px;
  }
}
pyramid/scaffolds/zodb/+package+/static/theme.min.css
New file
@@ -0,0 +1 @@
@import url(//fonts.googleapis.com/css?family=Open+Sans:300,400,600,700);body{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300;color:#fff;background:#bc2131}h1,h2,h3,h4,h5,h6{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300}p{font-weight:300}.font-normal{font-weight:400}.font-semi-bold{font-weight:600}.font-bold{font-weight:700}.starter-template{margin-top:250px}.starter-template .content{margin-left:10px}.starter-template .content h1{margin-top:10px;font-size:60px}.starter-template .content h1 .smaller{font-size:40px;color:#f2b7bd}.starter-template .content .lead{font-size:25px;color:#f2b7bd}.starter-template .content .lead .font-normal{color:#fff}.starter-template .links{float:right;right:0;margin-top:125px}.starter-template .links ul{display:block;padding:0;margin:0}.starter-template .links ul li{list-style:none;display:inline;margin:0 10px}.starter-template .links ul li:first-child{margin-left:0}.starter-template .links ul li:last-child{margin-right:0}.starter-template .links ul li.current-version{color:#f2b7bd;font-weight:400}.starter-template .links ul li a{color:#fff}.starter-template .links ul li a:hover{text-decoration:underline}.starter-template .links ul li .icon-muted{color:#eb8b95;margin-right:5px}.starter-template .links ul li:hover .icon-muted{color:#fff}.starter-template .copyright{margin-top:10px;font-size:.9em;color:#f2b7bd;text-transform:lowercase;float:right;right:0}@media (max-width:1199px){.starter-template .content h1{font-size:45px}.starter-template .content h1 .smaller{font-size:30px}.starter-template .content .lead{font-size:20px}}@media (max-width:991px){.starter-template{margin-top:0}.starter-template .logo{margin:40px auto}.starter-template .content{margin-left:0;text-align:center}.starter-template .content h1{margin-bottom:20px}.starter-template .links{float:none;text-align:center;margin-top:60px}.starter-template .copyright{float:none;text-align:center}}@media (max-width:767px){.starter-template .content h1 .smaller{font-size:25px;display:block}.starter-template .content .lead{font-size:16px}.starter-template .links{margin-top:40px}.starter-template .links ul li{display:block;margin:0}.starter-template .links ul li .icon-muted{display:none}.starter-template .copyright{margin-top:20px}}
pyramid/scaffolds/zodb/+package+/static/transparent.gif
Binary files differ
pyramid/scaffolds/zodb/+package+/templates/mytemplate.pt
File was deleted
pyramid/scaffolds/zodb/+package+/templates/mytemplate.pt_tmpl
New file
@@ -0,0 +1,66 @@
<!DOCTYPE html>
<html lang="${request.locale_name}">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="pyramid web application">
    <meta name="author" content="Pylons Project">
    <link rel="shortcut icon" href="${request.static_url('{{package}}:static/pyramid-16x16.png')}">
    <title>Starter Template for The Pyramid Web Framework</title>
    <!-- Bootstrap core CSS -->
    <link href="//oss.maxcdn.com/libs/twitter-bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
    <!-- Custom styles for this template -->
    <link href="${request.static_url('{{package}}:static/theme.css')}" rel="stylesheet">
    <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="//oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
      <script src="//oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
    <![endif]-->
  </head>
  <body>
    <div class="starter-template">
      <div class="container">
        <div class="row">
          <div class="col-md-2">
            <img class="logo img-responsive" src="${request.static_url('{{package}}:static/pyramid.png')}" alt="pyramid web framework">
          </div>
          <div class="col-md-10">
            <div class="content">
              <h1><span class="font-semi-bold">Pyramid</span> <span class="smaller">starter template</span></h1>
              <p class="lead">Welcome to <span class="font-normal">${project}</span>, an&nbsp;application generated&nbsp;by<br>the <span class="font-normal">Pyramid Web Framework</span>.</p>
            </div>
          </div>
        </div>
        <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><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>
          </div>
        </div>
        <div class="row">
          <div class="copyright">
            Copyright © Pylons Project
          </div>
        </div>
      </div>
    </div>
    <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="//oss.maxcdn.com/libs/jquery/1.10.2/jquery.min.js"></script>
    <script src="//oss.maxcdn.com/libs/twitter-bootstrap/3.0.3/js/bootstrap.min.js"></script>
  </body>
</html>
pyramid/session.py
@@ -165,7 +165,7 @@
    Parameters:
    ``serializer``
      An object with two methods: `loads`` and ``dumps``.  The ``loads`` method
      An object with two methods: ``loads`` and ``dumps``.  The ``loads`` method
      should accept bytes and return a Python object.  The ``dumps`` method
      should accept a Python object and return bytes.  A ``ValueError`` should
      be raised for malformed inputs.
@@ -572,7 +572,7 @@
      while rendering a view. Default: ``True``.
    ``serializer``
      An object with two methods: `loads`` and ``dumps``.  The ``loads`` method
      An object with two methods: ``loads`` and ``dumps``.  The ``loads`` method
      should accept bytes and return a Python object.  The ``dumps`` method
      should accept a Python object and return bytes.  A ``ValueError`` should
      be raised for malformed inputs.  If a serializer is not passed, the
pyramid/tests/test_renderers.py
@@ -567,7 +567,7 @@
        request = testing.DummyRequest()
        request.GET['callback'] = 'callback'
        result = renderer({'a':'1'}, {'request':request})
        self.assertEqual(result, 'callback({"a": "1"})')
        self.assertEqual(result, 'callback({"a": "1"});')
        self.assertEqual(request.response.content_type,
                         'application/javascript')
pyramid/url.py
@@ -359,7 +359,7 @@
        .. warning:: if no ``elements`` arguments are specified, the resource
                     URL will end with a trailing slash.  If any
                     ``elements`` are used, the generated URL will *not*
                     end in trailing a slash.
                     end in a trailing slash.
        If a keyword argument ``query`` is present, it will be used to compose
        a query string that will be tacked on to the end of the URL.  The value
setup.py
@@ -39,7 +39,7 @@
install_requires=[
    'setuptools',
    'WebOb >= 1.3', # request.domain and CookieProfile
    'WebOb >= 1.3.1', # request.domain and CookieProfile
    'repoze.lru >= 0.4', # py3 compat
    'zope.interface >= 3.8.0',  # has zope.interface.registry
    'zope.deprecation >= 3.5.0', # py3 compat