summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Piercy <web@stevepiercy.com>2016-04-23 02:45:04 -0700
committerSteve Piercy <web@stevepiercy.com>2016-04-23 02:45:04 -0700
commit1cb30e690a7ba97db212e7ec9002fd83f950b0bd (patch)
tree87c6d914974b01c129bea0a1cc2900eb186eb192
parentf5de93f1c156fd4659a191c7c78554645534968d (diff)
downloadpyramid-1cb30e690a7ba97db212e7ec9002fd83f950b0bd.tar.gz
pyramid-1cb30e690a7ba97db212e7ec9002fd83f950b0bd.tar.bz2
pyramid-1cb30e690a7ba97db212e7ec9002fd83f950b0bd.zip
Fix all the stinky linkie rot via `make linkcheck SPHINXBUILD=$VENV/bin/sphinx-build`, but don't bother with HISTORY.txt or whatsnew-xx
-rw-r--r--docs/conventions.rst2
-rw-r--r--docs/copyright.rst8
-rw-r--r--docs/designdefense.rst43
-rw-r--r--docs/glossary.rst98
-rw-r--r--docs/index.rst12
-rw-r--r--docs/narr/firstapp.rst2
-rw-r--r--docs/narr/i18n.rst4
-rw-r--r--docs/narr/install.rst4
-rw-r--r--docs/narr/introduction.rst12
-rw-r--r--docs/narr/logging.rst3
-rw-r--r--docs/narr/muchadoabouttraversal.rst4
-rw-r--r--docs/narr/project.rst40
-rw-r--r--docs/narr/renderers.rst2
-rw-r--r--docs/narr/templates.rst2
-rw-r--r--docs/narr/upgrading.rst8
-rw-r--r--docs/narr/urldispatch.rst7
-rw-r--r--docs/narr/webob.rst6
-rw-r--r--docs/tutorials/modwsgi/index.rst15
-rw-r--r--docs/tutorials/wiki/distributing.rst4
-rw-r--r--docs/tutorials/wiki2/distributing.rst6
-rw-r--r--pyramid/renderers.py2
21 files changed, 144 insertions, 140 deletions
diff --git a/docs/conventions.rst b/docs/conventions.rst
index 4469d0c73..0f5daf106 100644
--- a/docs/conventions.rst
+++ b/docs/conventions.rst
@@ -35,7 +35,7 @@ References to glossary terms are presented using the following style:
URLs are presented using the following style:
- `Pylons <http://pylonsproject.org>`_
+ `Pylons <http://www.pylonsproject.org>`_
References to sections and chapters are presented using the following
style:
diff --git a/docs/copyright.rst b/docs/copyright.rst
index 3beaee7f7..9532c15b7 100644
--- a/docs/copyright.rst
+++ b/docs/copyright.rst
@@ -63,7 +63,7 @@ Contributors:
GitHub.
Cover Designer:
- Hugues Laflamme of `Kemeneur <http://www.kemeneur.com/>`_.
+ Hugues Laflamme of Kemeneur.
Used with permission:
@@ -80,8 +80,8 @@ Print Production
----------------
The print version of this book was produced using the `Sphinx
-<http://sphinx.pocoo.org/>`_ documentation generation system and the
-`LaTeX <http://www.latex-project.org/>`_ typesetting system.
+<http://www.sphinx-doc.org/en/stable/>`_ documentation generation system and
+the `LaTeX <http://www.latex-project.org/>`_ typesetting system.
Contacting The Publisher
------------------------
@@ -90,7 +90,7 @@ Please send documentation licensing inquiries, translation inquiries,
and other business communications to `Agendaless Consulting
<mailto:webmaster@agendaless.com>`_. Please send software and other
technical queries to the `Pylons-devel mailing list
-<http://groups.google.com/group/pylons-devel>`_.
+<https://groups.google.com/forum/#!forum/pylons-devel>`_.
HTML Version and Source Code
----------------------------
diff --git a/docs/designdefense.rst b/docs/designdefense.rst
index 5f3295305..3c1046b82 100644
--- a/docs/designdefense.rst
+++ b/docs/designdefense.rst
@@ -131,7 +131,7 @@ obvious.
First, what's a "utility"? Well, for the purposes of this discussion, and
for the purpose of the code above, it's just not very important. If you
really want to know, you can read `this
-<http://www.muthukadan.net/docs/zca.html#utility>`_. However, still, readers
+<http://muthukadan.net/docs/zca.html#utility>`_. However, still, readers
of such code need to understand the concept in order to parse it. This is
problem number one.
@@ -665,7 +665,7 @@ desktop GUI platforms by using similar terminology, and to provide some frame
of reference for how various components in the common web framework might
hang together. But in the opinion of the author, "MVC" doesn't match the web
very well in general. Quoting from the `Model-View-Controller Wikipedia entry
-<http://en.wikipedia.org/wiki/Model–view–controller>`_:
+<https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller>`_:
Though MVC comes in different flavors, control flow is generally as
follows:
@@ -847,9 +847,9 @@ Challenge
+++++++++
:app:`Pyramid` performs automatic authorization checks only at :term:`view`
-execution time. Zope 3 wraps context objects with a `security proxy
-<http://wiki.zope.org/zope3/WhatAreSecurityProxies>`_, which causes Zope 3 also
-to do security checks during attribute access. I like this, because it means:
+execution time. Zope 3 wraps context objects with a security proxy, which
+causes Zope 3 also to do security checks during attribute access. I like this,
+because it means:
#) When I use the security proxy machinery, I can have a view that
conditionally displays certain HTML elements (like form fields) or
@@ -1006,16 +1006,18 @@ the following:
Microframeworks have smaller Hello World programs
-------------------------------------------------
-Self-described "microframeworks" exist. `Bottle <http://bottle.paws.de>`_ and
-`Flask <http://flask.pocoo.org/>`_ are two that are becoming popular. `Bobo
-<http://bobo.digicool.com/>`_ doesn't describe itself as a microframework, but
-its intended user base is much the same. Many others exist. We've even (only as
-a teaching tool, not as any sort of official project) `created one using
-Pyramid <http://static.repoze.org/casts/videotags.html>`_. The videos use BFG,
-a precursor to Pyramid, but the resulting code is `available for Pyramid too
-<https://github.com/Pylons/groundhog>`_). Microframeworks are small frameworks
-with one common feature: each allows its users to create a fully functional
-application that lives in a single Python file.
+Self-described "microframeworks" exist. `Bottle
+<http://bottlepy.org/docs/dev/index.html>`_ and `Flask
+<http://flask.pocoo.org/>`_ are two that are becoming popular. `Bobo
+<http://bobo.digicool.com/en/latest/>`_ doesn't describe itself as a
+microframework, but its intended user base is much the same. Many others exist.
+We've even (only as a teaching tool, not as any sort of official project)
+`created one using Pyramid <http://static.repoze.org/casts/videotags.html>`_.
+The videos use BFG, a precursor to Pyramid, but the resulting code is
+`available for Pyramid too <https://github.com/Pylons/groundhog>`_).
+Microframeworks are small frameworks with one common feature: each allows its
+users to create a fully functional application that lives in a single Python
+file.
Some developers and microframework authors point out that Pyramid's "hello
world" single-file program is longer (by about five lines) than the equivalent
@@ -1430,9 +1432,9 @@ object which *is not logically global*:
# this is executed if the request method was GET or the
# credentials were invalid
-The `Pylons 1.X <http://pylonsproject.org>`_ web framework uses a similar
-strategy. It calls these things "Stacked Object Proxies", so, for purposes
-of this discussion, I'll do so as well.
+The `Pylons 1.X <http://docs.pylonsproject.org/projects/pyramid/en/latest/>`_
+web framework uses a similar strategy. It calls these things "Stacked Object
+Proxies", so, for purposes of this discussion, I'll do so as well.
Import statements in Python (``import foo``, ``from bar import baz``) are
most frequently performed to obtain a reference to an object defined globally
@@ -1701,5 +1703,6 @@ Other Challenges
----------------
Other challenges are encouraged to be sent to the `Pylons-devel
-<http://groups.google.com/group/pylons-devel>`_ maillist. We'll try to address
-them by considering a design change, or at very least via exposition here.
+<https://groups.google.com/forum/#!forum/pylons-devel>`_ maillist. We'll try
+to address them by considering a design change, or at very least via exposition
+here.
diff --git a/docs/glossary.rst b/docs/glossary.rst
index 1d97bffe8..9b41b4359 100644
--- a/docs/glossary.rst
+++ b/docs/glossary.rst
@@ -36,7 +36,7 @@ Glossary
Repoze
"Repoze" is essentially a "brand" of software developed by `Agendaless
- Consulting <http://agendaless.com>`_ and a set of contributors. The
+ Consulting <https://agendaless.com>`_ and a set of contributors. The
term has no special intrinsic meaning. The project's `website
<http://repoze.org>`_ has more information. The software developed
"under the brand" is available in a `Subversion repository
@@ -51,7 +51,7 @@ Glossary
You can use :term:`distribute` under Python 3 instead.
distribute
- `Distribute <http://packages.python.org/distribute/>`_ is a fork of
+ `Distribute <https://pythonhosted.org/distribute/>`_ is a fork of
:term:`setuptools` which runs on both Python 2 and Python 3.
pkg_resources
@@ -321,18 +321,18 @@ Glossary
:term:`principal` (or principals) associated with a request.
WSGI
- `Web Server Gateway Interface <http://www.wsgi.org/>`_. This is a
- Python standard for connecting web applications to web servers,
- similar to the concept of Java Servlets. :app:`Pyramid` requires
- that your application be served as a WSGI application.
+ `Web Server Gateway Interface <http://wsgi.readthedocs.org/en/latest/>`_.
+ This is a Python standard for connecting web applications to web servers,
+ similar to the concept of Java Servlets. :app:`Pyramid` requires that
+ your application be served as a WSGI application.
middleware
*Middleware* is a :term:`WSGI` concept. It is a WSGI component
that acts both as a server and an application. Interesting uses
for middleware exist, such as caching, content-transport
- encoding, and other functions. See `WSGI.org <http://www.wsgi.org>`_
- or `PyPI <http://python.org/pypi>`_ to find middleware for your
- application.
+ encoding, and other functions. See `WSGI.org
+ <http://wsgi.readthedocs.org/en/latest/>`_ or `PyPI
+ <https://pypi.python.org/pypi>`_ to find middleware for your application.
pipeline
The :term:`PasteDeploy` term for a single configuration of a WSGI
@@ -346,15 +346,15 @@ Glossary
`A web framework based on Zope 3 <http://grok.zope.org>`_.
Django
- `A full-featured Python web framework <http://djangoproject.com>`_.
+ `A full-featured Python web framework <https://www.djangoproject.com/>`_.
Pylons
`A lightweight Python web framework <http://docs.pylonsproject.org/projects/pylons-webframework/en/latest/>`_
and a predecessor of Pyramid.
ZODB
- `Zope Object Database <http://zodb.org>`_, a
- persistent Python object store.
+ `Zope Object Database <http://www.zodb.org/en/latest/>`_, a persistent
+ Python object store.
WebOb
`WebOb <http://webob.org>`_ is a WSGI request/response
@@ -376,28 +376,27 @@ Glossary
the box in ZPT and text flavors.
ZPT
- The `Zope Page Template <http://wiki.zope.org/ZPT/FrontPage>`_
+ The `Zope Page Template <http://docs.zope.org/zope2/zope2book/ZPT.html>`_
templating language.
METAL
- `Macro Expansion for TAL <http://wiki.zope.org/ZPT/METAL>`_, a
- part of :term:`ZPT` which makes it possible to share common look
- and feel between templates.
+ `Macro Expansion for TAL
+ <http://docs.zope.org/zope2/zope2book/AppendixC.html#metal-overview>`_, a
+ part of :term:`ZPT` which makes it possible to share common look and feel
+ between templates.
Genshi
- An `XML templating language <http://pypi.python.org/pypi/Genshi/>`_
+ An `XML templating language <https://pypi.python.org/pypi/Genshi/>`_
by Christopher Lenz.
Jinja2
- A `text templating language <http://jinja.pocoo.org/2/>`_ by Armin
- Ronacher.
+ A `text templating language <http://jinja.pocoo.org/>`_ by Armin Ronacher.
Routes
- A `system by Ben Bangert <http://routes.groovie.org/>`_ which
- parses URLs and compares them against a number of user defined
- mappings. The URL pattern matching syntax in :app:`Pyramid` is
- inspired by the Routes syntax (which was inspired by Ruby On
- Rails pattern syntax).
+ A `system by Ben Bangert <http://routes.readthedocs.org/en/latest/>`_
+ which parses URLs and compares them against a number of user defined
+ mappings. The URL pattern matching syntax in :app:`Pyramid` is inspired by
+ the Routes syntax (which was inspired by Ruby On Rails pattern syntax).
route
A single pattern matched by the :term:`url dispatch` subsystem,
@@ -416,7 +415,7 @@ Glossary
Zope Component Architecture
The `Zope Component Architecture
- <http://www.muthukadan.net/docs/zca.html>`_ (aka ZCA) is a system
+ <http://muthukadan.net/docs/zca.html>`_ (aka ZCA) is a system
which allows for application pluggability and complex dispatching
based on objects which implement an :term:`interface`.
:app:`Pyramid` uses the ZCA "under the hood" to perform view
@@ -442,7 +441,7 @@ Glossary
subpath. See :ref:`star_subpath` for more information.
interface
- A `Zope interface <http://pypi.python.org/pypi/zope.interface>`_
+ A `Zope interface <https://pypi.python.org/pypi/zope.interface>`_
object. In :app:`Pyramid`, an interface may be attached to a
:term:`resource` object or a :term:`request` object in order to
identify that the object is "of a type". Interfaces are used
@@ -488,13 +487,13 @@ Glossary
repoze.catalog
An indexing and search facility (fielded and full-text) based on
- `zope.index <http://pypi.python.org/pypi/zope.index>`_. See `the
+ `zope.index <https://pypi.python.org/pypi/zope.index>`_. See `the
documentation <http://docs.repoze.org/catalog>`_ for more
information.
repoze.who
- `Authentication middleware <http://docs.repoze.org/who>`_ for
- :term:`WSGI` applications. It can be used by :app:`Pyramid` to
+ `Authentication middleware <http://repozewho.readthedocs.org/en/latest/>`_
+ for :term:`WSGI` applications. It can be used by :app:`Pyramid` to
provide authentication information.
repoze.workflow
@@ -555,7 +554,7 @@ Glossary
serialization format.
jQuery
- A popular `Javascript library <http://jquery.org>`_.
+ A popular `Javascript library <https://jquery.org>`_.
renderer
A serializer which converts non-:term:`Response` return values from a
@@ -569,10 +568,10 @@ Glossary
:ref:`adding_and_overriding_renderers` for more information.
mod_wsgi
- `mod_wsgi <http://code.google.com/p/modwsgi/>`_ is an Apache
- module developed by Graham Dumpleton. It allows :term:`WSGI`
- applications (such as applications developed using
- :app:`Pyramid`) to be served using the Apache web server.
+ `mod_wsgi <https://code.google.com/archive/p/modwsgi>`_ is an Apache
+ module developed by Graham Dumpleton. It allows :term:`WSGI` applications
+ (such as applications developed using :app:`Pyramid`) to be served using
+ the Apache web server.
view predicate
An argument to a :term:`view configuration` which evaluates to
@@ -609,7 +608,7 @@ Glossary
.. seealso::
- See also `PEP 318 <http://www.python.org/dev/peps/pep-0318/>`_.
+ See also `PEP 318 <https://www.python.org/dev/peps/pep-0318/>`_.
configuration declaration
An individual method call made to a :term:`configuration directive`,
@@ -683,7 +682,7 @@ Glossary
thread local
A thread-local variable is one which is essentially a global variable
in terms of how it is accessed and treated, however, each `thread
- <http://en.wikipedia.org/wiki/Thread_(computer_science)>`_ used by the
+ <https://en.wikipedia.org/wiki/Thread_(computer_science)>`_ used by the
application may have a different value for this same "global" variable.
:app:`Pyramid` uses a small number of thread local variables, as
described in :ref:`threadlocals_chapter`.
@@ -700,8 +699,8 @@ Glossary
:ref:`multidict_narr` and :class:`pyramid.interfaces.IMultiDict`.
PyPI
- `The Python Package Index <http://pypi.python.org/pypi>`_, a
- collection of software available for Python.
+ `The Python Package Index <https://pypi.python.org/pypi>`_, a collection
+ of software available for Python.
Agendaless Consulting
A consulting organization formed by Paul Everitt, Tres Seaver,
@@ -709,14 +708,14 @@ Glossary
.. seealso::
- See also `Agendaless Consulting <http://agendaless.com>`_.
+ See also `Agendaless Consulting <https://agendaless.com>`_.
Jython
A `Python implementation <http://www.jython.org/>`_ written for
the Java Virtual Machine.
Python
- The `programming language <http://python.org>`_ in which
+ The `programming language <https://www.python.org>`_ in which
:app:`Pyramid` is written.
CPython
@@ -736,7 +735,7 @@ Glossary
subsystems used by :app:`Pyramid`.
Google App Engine
- `Google App Engine <http://code.google.com/appengine/>`_ (aka
+ `Google App Engine <https://cloud.google.com/appengine/>`_ (aka
"GAE") is a Python application hosting service offered by Google.
:app:`Pyramid` runs on GAE.
@@ -913,7 +912,7 @@ Glossary
can be used as global application values.
WebTest
- `WebTest <http://pythonpaste.org/webtest/>`_ is a package which can help
+ `WebTest <http://webtest.pythonpaste.org/en/latest/>`_ is a package which can help
you write functional tests for your WSGI application.
view mapper
@@ -936,20 +935,19 @@ Glossary
ZCML
`Zope Configuration Markup Language
- <http://www.muthukadan.net/docs/zca.html#zcml>`_, an XML dialect
+ <http://muthukadan.net/docs/zca.html#zcml>`_, an XML dialect
used by Zope and :term:`pyramid_zcml` for configuration tasks.
pyramid_handlers
An add-on package which allows :app:`Pyramid` users to create classes
that are analogues of Pylons 1 "controllers". See
- http://docs.pylonsproject.org/projects/pyramid_handlers/dev/ .
+ http://docs.pylonsproject.org/projects/pyramid_handlers/en/latest/.
pyramid_jinja2
:term:`Jinja2` templating system bindings for Pyramid, documented at
- http://docs.pylonsproject.org/projects/pyramid_jinja2/dev/ . This
- package also includes a scaffold named
- ``pyramid_jinja2_starter``, which creates an application package based
- on the Jinja2 templating system.
+ http://docs.pylonsproject.org/projects/pyramid_jinja2/en/latest/. This
+ package also includes a scaffold named ``pyramid_jinja2_starter``, which
+ creates an application package based on the Jinja2 templating system.
Akhet
`Akhet <http://docs.pylonsproject.org/projects/akhet/en/latest/>`_ is a
@@ -965,7 +963,7 @@ Glossary
distutils
The standard system for packaging and distributing Python packages. See
- http://docs.python.org/distutils/index.html for more information.
+ https://docs.python.org/2/distutils/index.html for more information.
:term:`setuptools` is actually an *extension* of the Distutils.
exception response
@@ -1008,7 +1006,7 @@ Glossary
used in production applications, because the logger can be configured to
log to a file, to UNIX syslog, to the Windows Event Log, or even to
email. See its `documentation
- <http://docs.pylonsproject.org/projects/pyramid_exclog/dev/>`_.
+ <http://docs.pylonsproject.org/projects/pyramid_exclog/en/latest/>`_.
console script
A script written to the ``bin`` (on UNIX, or ``Scripts`` on Windows)
diff --git a/docs/index.rst b/docs/index.rst
index aecc26d2e..ad667684c 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -5,7 +5,7 @@ The Pyramid Web Framework
=========================
:app:`Pyramid` is a small, fast, down-to-earth Python web framework. It is
-developed as part of the `Pylons Project <http://docs.pylonsproject.org/>`_.
+developed as part of the `Pylons Project <http://www.pylonsproject.org/>`_.
It is licensed under a `BSD-like license <http://repoze.org/license.html>`_.
Here is one of the simplest :app:`Pyramid` applications you can make:
@@ -70,15 +70,17 @@ platforms.
Support and Development
=======================
-The `Pylons Project web site <http://pylonsproject.org/>`_ is the main online
-source of :app:`Pyramid` support and development information.
+The `Pylons Project web site <http://www.pylonsproject.org/>`_ is the main
+online source of :app:`Pyramid` support and development information.
To report bugs, use the `issue tracker
<https://github.com/Pylons/pyramid/issues>`_.
If you've got questions that aren't answered by this documentation, contact the
-`Pylons-discuss maillist <http://groups.google.com/group/pylons-discuss>`_ or
-join the `#pyramid IRC channel <irc://irc.freenode.net/#pyramid>`_.
+`Pylons-discuss maillist
+<https://groups.google.com/forum/#!forum/pylons-discuss>`_ or join the
+`#pyramid IRC channel
+<https://webchat.freenode.net?channels=%23pyramid&uio=d4>`_.
Browse and check out tagged and trunk versions of :app:`Pyramid` via the
`Pyramid GitHub repository <https://github.com/Pylons/pyramid/>`_. To check out
diff --git a/docs/narr/firstapp.rst b/docs/narr/firstapp.rst
index 6a952dec9..a8491eabd 100644
--- a/docs/narr/firstapp.rst
+++ b/docs/narr/firstapp.rst
@@ -197,7 +197,7 @@ method returns a :term:`WSGI` application object that can be used by any WSGI
server to present an application to a requestor. :term:`WSGI` is a protocol
that allows servers to talk to Python applications. We don't discuss
:term:`WSGI` in any depth within this book, but you can learn more about it by
-visiting `wsgi.org <http://wsgi.org>`_.
+reading its `documentation <http://wsgi.readthedocs.org/en/latest/>`_.
The :app:`Pyramid` application object, in particular, is an instance of a class
representing a :app:`Pyramid` :term:`router`. It has a reference to the
diff --git a/docs/narr/i18n.rst b/docs/narr/i18n.rst
index 014f314ad..131832aae 100644
--- a/docs/narr/i18n.rst
+++ b/docs/narr/i18n.rst
@@ -343,7 +343,7 @@ This will create a new message catalog ``.po`` file in
``myapplication/locale/es/LC_MESSAGES/myapplication.po``.
Once the file is there, it can be worked on by a human translator. One tool
-which may help with this is `Poedit <http://www.poedit.net/>`_.
+which may help with this is `Poedit <https://poedit.net/>`_.
Note that :app:`Pyramid` itself ignores the existence of all ``.po`` files.
For a running application to have translations available, a ``.mo`` file must
@@ -647,7 +647,7 @@ before being rendered:
The features represented by attributes of the ``i18n`` namespace of Chameleon
will also consult the :app:`Pyramid` translations. See
-http://chameleon.readthedocs.org/en/latest/reference.html#id50.
+http://chameleon.readthedocs.org/en/latest/reference.html#translation-i18n.
.. note::
diff --git a/docs/narr/install.rst b/docs/narr/install.rst
index 3e5523262..7d96f4074 100644
--- a/docs/narr/install.rst
+++ b/docs/narr/install.rst
@@ -90,7 +90,7 @@ If You Don't Yet Have a Python Interpreter (Windows)
If your Windows system doesn't have a Python interpreter, you'll need to
install it by downloading a Python 3.x-series interpreter executable from
-`python.org's download section <http://python.org/download/>`_ (the files
+`python.org's download section <https://www.python.org/downloads/>`_ (the files
labeled "Windows Installer"). Once you've downloaded it, double click on the
executable and accept the defaults during the installation process. You may
also need to download and install the Python for Windows extensions.
@@ -99,7 +99,7 @@ also need to download and install the Python for Windows extensions.
Windows <python:using-on-windows>` for full details.
.. seealso:: Download and install the `Python for Windows extensions
- <http://sourceforge.net/projects/pywin32/files/pywin32/>`_. Carefully read
+ <https://sourceforge.net/projects/pywin32/files/pywin32/>`_. Carefully read
the README.txt file at the end of the list of builds, and follow its
directions. Make sure you get the proper 32- or 64-bit build and Python
version.
diff --git a/docs/narr/introduction.rst b/docs/narr/introduction.rst
index 24c9f6b93..d92916503 100644
--- a/docs/narr/introduction.rst
+++ b/docs/narr/introduction.rst
@@ -221,7 +221,7 @@ send email, let you use the Jinja2 templating system, let you use XML-RPC or
JSON-RPC, let you integrate with jQuery Mobile, etc.
Examples:
-http://docs.pylonsproject.org/en/latest/docs/pyramid.html#pyramid-add-on-documentation
+http://docs.pylonsproject.org/en/latest/docs/pyramid.html#pyramid-add-ons
Class-based and function-based views
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -881,7 +881,7 @@ new-user-friendly.
Example: Visit irc\://freenode.net#pyramid (the ``#pyramid`` channel on
irc.freenode.net in an IRC client) or the pylons-discuss maillist at
-http://groups.google.com/group/pylons-discuss/.
+https://groups.google.com/forum/#!forum/pylons-discuss.
Documentation
~~~~~~~~~~~~~
@@ -903,7 +903,7 @@ What Is The Pylons Project?
:app:`Pyramid` is a member of the collection of software published under the
Pylons Project. Pylons software is written by a loose-knit community of
-contributors. The `Pylons Project website <http://pylonsproject.org>`_
+contributors. The `Pylons Project website <http://www.pylonsproject.org>`_
includes details about how :app:`Pyramid` relates to the Pylons Project.
.. index::
@@ -967,9 +967,9 @@ nor discouraging the decision.
Other Python web frameworks advertise themselves as members of a class of web
frameworks named `model-view-controller
-<http://en.wikipedia.org/wiki/Model–view–controller>`_ frameworks. Insofar as
-this term has been claimed to represent a class of web frameworks,
-:app:`Pyramid` also generally fits into this class.
+<https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller>`_
+frameworks. Insofar as this term has been claimed to represent a class of web
+frameworks, :app:`Pyramid` also generally fits into this class.
.. sidebar:: You Say :app:`Pyramid` is MVC, but Where's the Controller?
diff --git a/docs/narr/logging.rst b/docs/narr/logging.rst
index 9c6e8a319..c7b4b9d6f 100644
--- a/docs/narr/logging.rst
+++ b/docs/narr/logging.rst
@@ -292,7 +292,8 @@ Logging Exceptions
To log or email exceptions generated by your :app:`Pyramid` application, use
the :term:`pyramid_exclog` package. Details about its configuration are in its
-`documentation <http://docs.pylonsproject.org/projects/pyramid_exclog/dev/>`_.
+`documentation
+<http://docs.pylonsproject.org/projects/pyramid_exclog/en/latest/>`_.
.. index::
single: TransLogger
diff --git a/docs/narr/muchadoabouttraversal.rst b/docs/narr/muchadoabouttraversal.rst
index 3e00a295a..02cd8ee3a 100644
--- a/docs/narr/muchadoabouttraversal.rst
+++ b/docs/narr/muchadoabouttraversal.rst
@@ -8,9 +8,7 @@ Much Ado About Traversal
.. note::
- This chapter was adapted, with permission, from a blog post by `Rob Miller
- <http://blog.nonsequitarian.org/>`_, originally published at
- http://blog.nonsequitarian.org/2010/much-ado-about-traversal/.
+ This chapter was adapted, with permission, from a blog post by Rob Miller.
Traversal is an alternative to :term:`URL dispatch` which allows :app:`Pyramid`
applications to map URLs to code.
diff --git a/docs/narr/project.rst b/docs/narr/project.rst
index 81fc9acf4..56247ee33 100644
--- a/docs/narr/project.rst
+++ b/docs/narr/project.rst
@@ -584,7 +584,7 @@ only (``127.0.0.1``).
The sections after ``# logging configuration`` represent Python's standard
library :mod:`logging` module configuration for your application. These
sections are passed to the `logging module's config file configuration engine
-<http://docs.python.org/howto/logging.html#configuring-logging>`_ when the
+<https://docs.python.org/2/howto/logging.html#configuring-logging>`_ when the
``pserve`` or ``pshell`` commands are executed. The default configuration
sends application logging output to the standard error output of your terminal.
For more information about logging configuration, see :ref:`logging_chapter`.
@@ -628,8 +628,8 @@ setup.py sdist``. Due to the information contained in the default
``MANIFEST.in``, an sdist of your Pyramid project will include ``.txt`` files,
``.ini`` files, ``.rst`` files, graphics files, and template files, as well as
``.py`` files. See
-http://docs.python.org/distutils/sourcedist.html#the-manifest-in-template for
-more information about the syntax and usage of ``MANIFEST.in``.
+https://docs.python.org/2/distutils/sourcedist.html#the-manifest-in-template
+for more information about the syntax and usage of ``MANIFEST.in``.
Without the presence of a ``MANIFEST.in`` file or without checking your source
code into a version control repository, ``setup.py sdist`` places only *Python
@@ -647,8 +647,8 @@ files with extensions other than the files named in the project's
``MANIFEST.in`` and you don't make use of a setuptools-compatible version
control system, you'll need to edit the ``MANIFEST.in`` file and include the
statements necessary to include your new files. See
-http://docs.python.org/distutils/sourcedist.html#principle for more information
-about how to do this.
+https://docs.python.org/2/distutils/sourcedist.html#principle for more
+information about how to do this.
You can also delete ``MANIFEST.in`` from your project and rely on a setuptools
feature which simply causes all files checked into a version control system to
@@ -697,21 +697,21 @@ Your application's name can be any string; it is specified in the ``name``
field. The version number is specified in the ``version`` value. A short
description is provided in the ``description`` field. The ``long_description``
is conventionally the content of the ``README`` and ``CHANGES`` files appended
-together. The ``classifiers`` field is a list of `Trove
-<http://pypi.python.org/pypi?%3Aaction=list_classifiers>`_ classifiers
-describing your application. ``author`` and ``author_email`` are text fields
-which probably don't need any description. ``url`` is a field that should
-point at your application project's URL (if any). ``packages=find_packages()``
-causes all packages within the project to be found when packaging the
-application. ``include_package_data`` will include non-Python files when the
-application is packaged if those files are checked into version control.
-``zip_safe=False`` indicates that this package is not safe to use as a zipped
-egg; instead it will always unpack as a directory, which is more convenient.
-``install_requires`` indicate that this package depends on the ``pyramid``
-package. ``extras_require`` is a Python dictionary that defines what is
-required to be installed for running tests. We examined ``entry_points`` in our
-discussion of the ``development.ini`` file; this file defines the ``main``
-entry point that represents our project's application.
+together. The ``classifiers`` field is a list of `Trove classifiers
+<https://pypi.python.org/pypi?%3Aaction=list_classifiers>`_ describing your
+application. ``author`` and ``author_email`` are text fields which probably
+don't need any description. ``url`` is a field that should point at your
+application project's URL (if any). ``packages=find_packages()`` causes all
+packages within the project to be found when packaging the application.
+``include_package_data`` will include non-Python files when the application is
+packaged if those files are checked into version control. ``zip_safe=False``
+indicates that this package is not safe to use as a zipped egg; instead it will
+always unpack as a directory, which is more convenient. ``install_requires``
+indicates that this package depends on the ``pyramid`` package.
+``extras_require`` is a Python dictionary that defines what is required to be
+installed for running tests. We examined ``entry_points`` in our discussion of
+the ``development.ini`` file; this file defines the ``main`` entry point that
+represents our project's application.
Usually you only need to think about the contents of the ``setup.py`` file when
distributing your application to other people, when adding Python package
diff --git a/docs/narr/renderers.rst b/docs/narr/renderers.rst
index 50e85813a..e06c78028 100644
--- a/docs/narr/renderers.rst
+++ b/docs/narr/renderers.rst
@@ -317,7 +317,7 @@ JSONP Renderer
.. versionadded:: 1.1
:class:`pyramid.renderers.JSONP` is a `JSONP
-<http://en.wikipedia.org/wiki/JSONP>`_ renderer factory helper which implements
+<https://en.wikipedia.org/wiki/JSONP>`_ renderer factory helper which implements
a hybrid JSON/JSONP renderer. JSONP is useful for making cross-domain AJAX
requests.
diff --git a/docs/narr/templates.rst b/docs/narr/templates.rst
index 9e3a31845..6b3b5fcce 100644
--- a/docs/narr/templates.rst
+++ b/docs/narr/templates.rst
@@ -448,7 +448,7 @@ templating languages including the following:
.. _pyramid_chameleon:
http://docs.pylonsproject.org/projects/pyramid-chameleon/en/latest/
-.. _Jinja2: http://jinja.pocoo.org/docs/
+.. _Jinja2: http://jinja.pocoo.org/docs/dev/
.. _pyramid_jinja2:
http://docs.pylonsproject.org/projects/pyramid-jinja2/en/latest/
diff --git a/docs/narr/upgrading.rst b/docs/narr/upgrading.rst
index fcdce4f8d..21b696775 100644
--- a/docs/narr/upgrading.rst
+++ b/docs/narr/upgrading.rst
@@ -128,7 +128,8 @@ you can see DeprecationWarnings printed to the console when the tests run.
The ``-Wd`` argument tells Python to print deprecation warnings to the console.
See `the Python -W flag documentation
-<http://docs.python.org/using/cmdline.html#cmdoption-W>`_ for more information.
+<https://docs.python.org/2/using/cmdline.html#cmdoption-W>`_ for more
+information.
As your tests run, deprecation warnings will be printed to the console
explaining the deprecation and providing instructions about how to prevent the
@@ -215,9 +216,10 @@ around in your application interactively to try to generate them, and remediate
as explained in :ref:`testing_under_new_release`.
See `the PYTHONWARNINGS environment variable documentation
-<http://docs.python.org/using/cmdline.html#envvar-PYTHONWARNINGS>`_ or `the
+<https://docs.python.org/2/using/cmdline.html#envvar-PYTHONWARNINGS>`_ or `the
Python -W flag documentation
-<http://docs.python.org/using/cmdline.html#cmdoption-W>`_ for more information.
+<https://docs.python.org/2/using/cmdline.html#cmdoption-W>`_ for more
+information.
Upgrading to the very latest Pyramid release
--------------------------------------------
diff --git a/docs/narr/urldispatch.rst b/docs/narr/urldispatch.rst
index c13558008..2472ace31 100644
--- a/docs/narr/urldispatch.rst
+++ b/docs/narr/urldispatch.rst
@@ -271,8 +271,9 @@ pattern like this:
But this will either cause an error at startup time or it won't match properly.
You'll want to use a Unicode value as the pattern instead rather than raw
bytestring escapes. You can use a high-order Unicode value as the pattern by
-using `Python source file encoding <http://www.python.org/dev/peps/pep-0263/>`_
-plus the "real" character in the Unicode pattern in the source, like so:
+using `Python source file encoding
+<https://www.python.org/dev/peps/pep-0263/>`_ plus the "real" character in the
+Unicode pattern in the source, like so:
.. code-block:: text
@@ -1194,7 +1195,7 @@ If a predicate is a class, just add ``__text__`` property in a standard manner.
__text__ = 'my custom class predicate'
If a predicate is a method, you'll need to assign it after method declaration
-(see `PEP 232 <http://www.python.org/dev/peps/pep-0232/>`_).
+(see `PEP 232 <https://www.python.org/dev/peps/pep-0232/>`_).
.. code-block:: python
:linenos:
diff --git a/docs/narr/webob.rst b/docs/narr/webob.rst
index cfcf532bc..ce1586834 100644
--- a/docs/narr/webob.rst
+++ b/docs/narr/webob.rst
@@ -27,8 +27,8 @@ functionality to the standard WebOb request, which is documented in the
:ref:`request_module` API documentation.
WebOb provides objects for HTTP requests and responses. Specifically it does
-this by wrapping the `WSGI <http://wsgi.org>`_ request environment and response
-status, header list, and app_iter (body) values.
+this by wrapping the `WSGI <http://wsgi.readthedocs.org/en/latest/>`_ request
+environment and response status, header list, and app_iter (body) values.
WebOb request and response objects provide many conveniences for parsing WSGI
requests and forming WSGI responses. WebOb is a nice way to represent "raw"
@@ -46,7 +46,7 @@ Request
~~~~~~~
The request object is a wrapper around the `WSGI environ dictionary
-<http://www.python.org/dev/peps/pep-0333/#environ-variables>`_. This
+<https://www.python.org/dev/peps/pep-0333/#environ-variables>`_. This
dictionary contains keys for each header, keys that describe the request
(including the path and query string), a file-like object for the request body,
and a variety of custom keys. You can always access the environ with
diff --git a/docs/tutorials/modwsgi/index.rst b/docs/tutorials/modwsgi/index.rst
index 3cc182d13..7f5aac0a0 100644
--- a/docs/tutorials/modwsgi/index.rst
+++ b/docs/tutorials/modwsgi/index.rst
@@ -18,7 +18,7 @@ specific path information for commands and files.
``mod_wsgi``. If you have experience with :app:`Pyramid` and ``mod_wsgi``
on Windows systems, please help us document this experience by submitting
documentation to the `Pylons-devel maillist
- <http://groups.google.com/group/pylons-devel>`_.
+ <https://groups.google.com/forum/#!forum/pylons-devel>`_.
#. The tutorial assumes you have Apache already installed on your
system. If you do not, install Apache 2.X for your platform in
@@ -29,7 +29,7 @@ specific path information for commands and files.
#. Once you have Apache installed, install ``mod_wsgi``. Use the
(excellent) `installation instructions
- <http://code.google.com/p/modwsgi/wiki/InstallationInstructions>`_
+ <https://code.google.com/archive/p/modwsgi/wikis/InstallationInstructions.wiki>`_
for your platform into your system's Apache installation.
#. Create a :term:`virtual environment` which we'll use to install our
@@ -119,9 +119,8 @@ specific path information for commands and files.
#. Visit ``http://localhost/myapp`` in a browser. You should see the
sample application rendered in your browser.
-:term:`mod_wsgi` has many knobs and a great variety of deployment
-modes. This is just one representation of how you might use it to
-serve up a :app:`Pyramid` application. See the `mod_wsgi
-configuration documentation
-<http://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines>`_ for
-more in-depth configuration information.
+:term:`mod_wsgi` has many knobs and a great variety of deployment modes. This
+is just one representation of how you might use it to serve up a :app:`Pyramid`
+application. See the `mod_wsgi configuration documentation
+<https://code.google.com/archive/p/modwsgi/wikis/ConfigurationGuidelines.wiki>`_
+for more in-depth configuration information.
diff --git a/docs/tutorials/wiki/distributing.rst b/docs/tutorials/wiki/distributing.rst
index c3037f396..386b880e6 100644
--- a/docs/tutorials/wiki/distributing.rst
+++ b/docs/tutorials/wiki/distributing.rst
@@ -36,6 +36,6 @@ Note that this command creates a tarball in the "dist" subdirectory named
``tutorial-0.0.tar.gz``. You can send this file to your friends to show them
your cool new application. They should be able to install it by pointing the
``pip install .`` command directly at it. Or you can upload it to `PyPI
-<http://pypi.python.org>`_ and share it with the rest of the world, where it
-can be downloaded via ``pip install`` remotely like any other package people
+<https://pypi.python.org/pypi>`_ and share it with the rest of the world, where
+it can be downloaded via ``pip install`` remotely like any other package people
download from PyPI.
diff --git a/docs/tutorials/wiki2/distributing.rst b/docs/tutorials/wiki2/distributing.rst
index f264448b0..f38a733f4 100644
--- a/docs/tutorials/wiki2/distributing.rst
+++ b/docs/tutorials/wiki2/distributing.rst
@@ -35,6 +35,6 @@ Note that this command creates a tarball in the "dist" subdirectory named
``tutorial-0.0.tar.gz``. You can send this file to your friends to show them
your cool new application. They should be able to install it by pointing the
``easy_install`` command directly at it. Or you can upload it to `PyPI
-<http://pypi.python.org>`_ and share it with the rest of the world, where it
-can be downloaded via ``easy_install`` remotely like any other package people
-download from PyPI.
+<https://pypi.python.org/pypi>`_ and share it with the rest of the world, where
+it can be downloaded via ``easy_install`` remotely like any other package
+people download from PyPI.
diff --git a/pyramid/renderers.py b/pyramid/renderers.py
index bcbcbb0aa..9b3f19510 100644
--- a/pyramid/renderers.py
+++ b/pyramid/renderers.py
@@ -294,7 +294,7 @@ json_renderer_factory = JSON() # bw compat
JSONP_VALID_CALLBACK = re.compile(r"^[$a-z_][$0-9a-z_\.\[\]]+[^.]$", re.I)
class JSONP(JSON):
- """ `JSONP <http://en.wikipedia.org/wiki/JSONP>`_ renderer factory helper
+ """ `JSONP <https://en.wikipedia.org/wiki/JSONP>`_ renderer factory helper
which implements a hybrid json/jsonp renderer. JSONP is useful for
making cross-domain AJAX requests.