[Python-modules-commits] [python-webob] 01/06: New upstream version 1.7.3

Thomas Goirand zigo at moszumanska.debian.org
Mon Sep 11 11:39:51 UTC 2017


This is an automated email from the git hooks/post-receive script.

zigo pushed a commit to branch master
in repository python-webob.

commit b2eb994886bf14a9b2ff45f973dce6e3fdf40f99
Author: Thomas Goirand <zigo at debian.org>
Date:   Sun Sep 10 11:49:01 2017 +0200

    New upstream version 1.7.3
---
 .gitignore                      |   23 +-
 .travis.yml                     |   10 +-
 CHANGES.txt                     |  169 ++--
 HISTORY.txt                     |   51 ++
 PKG-INFO                        |  163 +++-
 README.rst                      |    4 +-
 WebOb.egg-info/PKG-INFO         |  163 +++-
 WebOb.egg-info/SOURCES.txt      |    3 +-
 WebOb.egg-info/requires.txt     |    3 +-
 appveyor.yml                    |   23 +
 docs/api/response.txt           |    2 +
 docs/conf.py                    |    2 +
 docs/differences.txt            |    5 +-
 docs/do-it-yourself.txt         |    2 +-
 docs/index.txt                  |  116 ++-
 docs/reference.txt              |    4 +-
 docs/whatsnew-1.6.txt           |   18 +-
 docs/whatsnew-1.7.txt           |  228 +++++
 setup.cfg                       |    3 +-
 setup.py                        |    9 +-
 tests/test_acceptparse.py       |   21 +-
 tests/test_byterange.py         |   62 +-
 tests/test_cachecontrol.py      |   87 +-
 tests/test_client_functional.py |    8 +-
 tests/test_compat.py            |  128 +++
 tests/test_cookies.py           |  381 ++++----
 tests/test_cookies_bw.py        |   19 +-
 tests/test_datetime_utils.py    |   88 +-
 tests/test_dec.py               |   17 +-
 tests/test_descriptors.py       |  281 +++---
 tests/test_etag.py              |   98 +-
 tests/test_etag_nose.py         |   32 +-
 tests/test_exc.py               |  181 ++--
 tests/test_headers.py           |   66 +-
 tests/test_in_wsgiref.py        |   19 +-
 tests/test_misc.py              |   73 +-
 tests/test_request.py           | 1936 ++++++++++++++++++++-------------------
 tests/test_request_nose.py      |   69 +-
 tests/test_response.py          |  869 +++++++++++-------
 tests/test_static.py            |    6 +-
 tests/test_transcode.py         |   42 +-
 tox.ini                         |   28 +-
 toxfast.ini                     |   10 -
 webob/byterange.py              |    2 +-
 webob/compat.py                 |   33 +-
 webob/dec.py                    |   12 +-
 webob/descriptors.py            |    5 +-
 webob/exc.py                    |   29 +-
 webob/headers.py                |   11 +-
 webob/request.py                |  343 +++----
 webob/response.py               |  548 ++++++++---
 webob/util.py                   |    4 +-
 52 files changed, 3888 insertions(+), 2621 deletions(-)

diff --git a/.gitignore b/.gitignore
index 09c1882..83acee6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,30 +1,17 @@
 *$py.class
-*,cover
 *.egg
 *.pyc
 *.pyo
 *.swp
-*_coverage/**
-*_fixt.py
 *~
 .*.swp
-.coverage
-.coverage.*
 .tox/
-Session.vim
-TEST*
-WebOb.egg-info
 __pycache__/
-_website/
 build/
-coverage-*.xml
-coverage.xml
-coverage.xml
 dist/
-docs/_build/*
 env*/
-glob:_coverage
-nosetests-*.xml
-nosetests.xml
-nosetests.xml
-testenv
+.coverage
+.cache/
+WebOb.egg-info/
+pytest*.xml
+coverage*.xml
diff --git a/.travis.yml b/.travis.yml
index 951ff57..895d219 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -4,8 +4,6 @@ sudo: false
 
 matrix:
     include:
-        - python: 2.6
-          env: TOXENV=py26
         - python: 2.7
           env: TOXENV=py27
         - python: 3.3
@@ -14,12 +12,16 @@ matrix:
           env: TOXENV=py34
         - python: 3.5
           env: TOXENV=py35
+        - python: 3.6
+          env: TOXENV=py36
+        - python: nightly
+          env: TOXENV=py37
         - python: pypy
           env: TOXENV=pypy
-        - python: pypy3
-          env: TOXENV=pypy3
         - python: 3.5
           env: TOXENV=py2-cover,py3-cover,coverage
+    allow_failures:
+        - env: TOXENV=py37
 
 install:
   - travis_retry pip install tox
diff --git a/CHANGES.txt b/CHANGES.txt
index 0b3ace5..58fec74 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,74 +1,141 @@
-1.6.2 (2016-10-14)
+1.7.3 (2017-06-30)
 ------------------
 
 Bugfix
 ~~~~~~
 
-- WebOb's exceptions will lazily read underlying variables when inserted into
-  templates to avoid expensive computations/crashes when inserting into the
-  template. This had a bad performance regression on Py27 because of the way
-  the lazified class was created and returned. See
-  https://github.com/Pylons/webob/pull/284
+- Request.host_url, Request.host_port and Request.domain now all understand and
+  know how to parse IPv6 Host headers sent by browsers. See
+  https://github.com/Pylons/webob/pull/332
 
-1.6.1 (2016-05-20)
+1.7.2 (2017-03-15)
 ------------------
 
 Bugfix
 ~~~~~~
 
-- Response.from_file now parses the status line correctly when the status line
-  contains an HTTP with version, as well as a status text that contains
-  multiple white spaces (e.g 404 Not Found). See
-  https://github.com/Pylons/webob/issues/250
+- Allow unnamed fields in form data to be properly transcoded when calling
+  request.decode with an alternate encoding. See
+  https://github.com/Pylons/webob/pull/309
+
+1.7.1 (2017-01-16)
+------------------
 
+Bugfix
+~~~~~~
 
-1.6.0 (2016-03-15)
+- ``Response.__init__`` would discard ``app_iter`` when a ``Response`` had no
+  body, this would cause issues when ``app_iter`` was an object that was tied
+  to the life-cycle of a web application and had to be properly closed.
+  ``app_iter`` is more advanced API for ``Response`` and thus even if it
+  contains a body and is thus against the HTTP RFC's, we should let the users
+  shoot themselves by returning a body. See
+  https://github.com/Pylons/webob/issues/305
+
+
+1.7.0 (2016-12-22)
 ------------------
 
 Compatibility
 ~~~~~~~~~~~~~
 
-- Python 3.2 is no longer supported by WebOb
+- WebOb is no longer supported on Python 2.6 and PyPy3 (due to pip no longer
+  supporting Python 3.2 even on PyPy)
+
+Backwards Incompatibility
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- ``Response.content_type`` removes all existing Content-Type parameters, and
+  if the new Content-Type is "texty" it adds a new charset (unless already
+  provided) using the ``default_charset``. See
+  https://github.com/Pylons/webob/pull/301
+
+- ``Response.set_cookie`` no longer accepts a key argument. This was deprecated
+  in WebOb 1.5 and as mentioned in the deprecation, is being removed in 1.7
+
+- ``Response.__init__`` will no longer set the default Content-Type, nor
+  Content-Length on Responses that don't have a body. This allows WebOb to
+  return proper responses for things like `Response(status='204 No Content')`.
+
+- ``Response.text`` will no longer raise if the Content-Type does not have a
+  charset, it will fall back to using the new ``default_body_encoding`. To get
+  the old behaviour back please sub-class ``Response`` and set
+  ``default_body_encoding`` to ``None``. See
+  https://github.com/Pylons/webob/pull/287
+
+- WebOb no longer supports Chunked Encoding, this means that if you are using
+  WebOb and need Chunked Encoding you will be required to have a proxy that
+  unchunks the request for you. Please read
+  https://github.com/Pylons/webob/issues/279 for more background.
+
+Feature
+~~~~~~~
+
+- ``Response`` has a new ``default_body_encoding`` which may be used to allow
+  getting/setting ``Response.text`` when a Content-Type has no charset. See
+  https://github.com/Pylons/webob/pull/287
+
+- ``webob.Request`` with any HTTP method is now allowed to have a body. This
+  allows DELETE to have a request body for passing extra information. See
+  https://github.com/Pylons/webob/pull/283 and
+  https://github.com/Pylons/webob/pull/274
+
+- Add ``tell()`` to ``ResponseBodyFile`` so that it may be used for example for
+  zipfile support. See https://github.com/Pylons/webob/pull/117
+
+- Allow the return from ``wsgify.middleware`` to be used as a decorator. See
+  https://github.com/Pylons/webob/pull/228
 
 Bugfix
 ~~~~~~
 
-- Request.decode attempted to read from the an already consumed stream, it has
-  now been redirected to another stream to read from. See
-  https://github.com/Pylons/webob/pull/183
-
-- The application/json media type does not allow for a charset as discovery of
-  the encoding is done at the JSON layer. Upon initialization of a Response
-  WebOb will no longer add a charset if the content-type is set to JSON. See
-  https://github.com/Pylons/webob/pull/197 and
-  https://github.com/Pylons/pyramid/issues/1611
-
-Features
-~~~~~~~~
-
-- Lazily HTML escapes environment keys in HTTP Exceptions so that those keys in
-  the environ that are not used in the output of the page don't raise an
-  exception due to inability to be properly escaped. See
-  https://github.com/Pylons/webob/pull/139
-
-- MIMEAccept now accepts comparisons against wildcards, this allows one to
-  match on just the media type or sub-type, without having to explicitly match
-  on both the media type and sub-type at the same time. See
-  https://github.com/Pylons/webob/pull/185
-
-- Add the ability to return a JSON body from an exception. Using the Accept
-  information in the request, the exceptions will now automatically return a
-  JSON version of the exception instead of just HTML or text. See
-  https://github.com/Pylons/webob/pull/230 and
-  https://github.com/Pylons/webob/issues/209
-
-Security
-~~~~~~~~
-
-- exc._HTTPMove and any subclasses will now raise a ValueError if the location
-  field contains a line feed or carriage return. These values may lead to
-  possible HTTP Response Splitting. The header_getter descriptor has also been
-  modified to no longer accept headers with a line feed or carriage return.
-  See: https://github.com/Pylons/webob/pull/229 and
-  https://github.com/Pylons/webob/issues/217
+- Fixup ``cgi.FieldStorage`` on Python 3.x to work-around issue reported in
+  Python bug report 27777 and 24764. This is currently applied for Python
+  versions less than 3.7. See https://github.com/Pylons/webob/pull/294 and
+  https://github.com/Pylons/webob/pull/300
+
+- ``Response.set_cookie`` now accepts ``datetime`` objects for the ``expires``
+  kwarg and will correctly convert them to UTC with no tzinfo for use in
+  calculating the ``max_age``. See https://github.com/Pylons/webob/issues/254
+  and https://github.com/Pylons/webob/pull/292
+
+- Fixes ``request.PATH_SAFE`` to contain all of the path safe characters
+  according to RFC3986. See https://github.com/Pylons/webob/pull/291
+
+- WebOb's exceptions will lazily read underlying variables when inserted into
+  templates to avoid expensive computations/crashes when inserting into the
+  template. This had a bad performance regression on Py27 because of the way
+  the lazified class was created and returned. See
+  https://github.com/Pylons/webob/pull/284
+
+- ``wsgify.__call__`` raised a ``TypeError`` with an unhelpful message, it will
+  now return the ``repr`` for the wrapped function:
+  https://github.com/Pylons/webob/issues/119
+
+- ``Response.json``'s ``json.dumps``/``json.loads`` are now always UTF-8. It no
+  longer tries to use the charset.
+
+- The ``Response.__init__`` will by default no longer set the Content-Type to
+  the default if a ``headerlist`` is provided. This fixes issues whereby
+  ``Request.get_response()`` would return a Response that didn't match the
+  actual response. See https://github.com/Pylons/webob/pull/261 and
+  https://github.com/Pylons/webob/issues/205
+
+- Cleans up the remainder of the issues with the updated WebOb exceptions that
+  were taught to return JSON in version 1.6. See
+  https://github.com/Pylons/webob/issues/237 and
+  https://github.com/Pylons/webob/issues/236
+
+- ``Response.from_file`` now parses the status line correctly when the status
+  line contains an HTTP with version, as well as a status text that contains
+  multiple white spaces (e.g HTTP/1.1 404 Not Found). See
+  https://github.com/Pylons/webob/issues/250
+
+- ``Response`` now has a new property named ``has_body`` that may be used to
+  interrogate the ``Response`` to find out if ``Response.body`` is or isn't
+  set.
 
+  This is used in the exception handling code so that if you use a WebOb HTTP
+  Exception and pass a generator to ``app_iter`` WebOb won't attempt to read
+  the whole thing and instead allows it to be returned to the WSGI server. See
+  https://github.com/Pylons/webob/pull/259
diff --git a/HISTORY.txt b/HISTORY.txt
index 59bd54e..a5313b7 100644
--- a/HISTORY.txt
+++ b/HISTORY.txt
@@ -1,3 +1,54 @@
+1.6.0 (2016-03-15)
+------------------
+
+Compatibility
+~~~~~~~~~~~~~
+
+- Python 3.2 is no longer supported by WebOb
+
+Bugfix
+~~~~~~
+
+- Request.decode attempted to read from the an already consumed stream, it has
+  now been redirected to another stream to read from. See
+  https://github.com/Pylons/webob/pull/183
+
+- The application/json media type does not allow for a charset as discovery of
+  the encoding is done at the JSON layer. Upon initialization of a Response
+  WebOb will no longer add a charset if the content-type is set to JSON. See
+  https://github.com/Pylons/webob/pull/197 and
+  https://github.com/Pylons/pyramid/issues/1611
+
+Features
+~~~~~~~~
+
+- Lazily HTML escapes environment keys in HTTP Exceptions so that those keys in
+  the environ that are not used in the output of the page don't raise an
+  exception due to inability to be properly escaped. See
+  https://github.com/Pylons/webob/pull/139
+
+- MIMEAccept now accepts comparisons against wildcards, this allows one to
+  match on just the media type or sub-type, without having to explicitly match
+  on both the media type and sub-type at the same time. See
+  https://github.com/Pylons/webob/pull/185
+
+- Add the ability to return a JSON body from an exception. Using the Accept
+  information in the request, the exceptions will now automatically return a
+  JSON version of the exception instead of just HTML or text. See
+  https://github.com/Pylons/webob/pull/230 and
+  https://github.com/Pylons/webob/issues/209
+
+Security
+~~~~~~~~
+
+- exc._HTTPMove and any subclasses will now raise a ValueError if the location
+  field contains a line feed or carriage return. These values may lead to
+  possible HTTP Response Splitting. The header_getter descriptor has also been
+  modified to no longer accept headers with a line feed or carriage return.
+  See: https://github.com/Pylons/webob/pull/229 and
+  https://github.com/Pylons/webob/issues/217
+
+
 1.5.1 (2015-10-30)
 ------------------
 
diff --git a/PKG-INFO b/PKG-INFO
index 6784294..f05a977 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: WebOb
-Version: 1.6.2
+Version: 1.7.3
 Summary: WSGI request and response object
 Home-page: http://webob.org/
 Author: Pylons Project
@@ -28,14 +28,14 @@ Description: WebOb
         Support and Documentation
         -------------------------
         
-        See the `WebOb Documentation website <http://webob.readthedocs.org/>`_ to view
+        See the `WebOb Documentation website <https://webob.readthedocs.io/>`_ to view
         documentation, report bugs, and obtain support.
         
         License
         -------
         
         WebOb is offered under the `MIT-license
-        <http://webob.readthedocs.org/en/latest/license.html>`_.
+        <https://webob.readthedocs.io/en/latest/license.html>`_.
         
         Authors
         -------
@@ -45,80 +45,147 @@ Description: WebOb
         
         
         
-        1.6.2 (2016-10-14)
+        1.7.3 (2017-06-30)
         ------------------
         
         Bugfix
         ~~~~~~
         
-        - WebOb's exceptions will lazily read underlying variables when inserted into
-          templates to avoid expensive computations/crashes when inserting into the
-          template. This had a bad performance regression on Py27 because of the way
-          the lazified class was created and returned. See
-          https://github.com/Pylons/webob/pull/284
+        - Request.host_url, Request.host_port and Request.domain now all understand and
+          know how to parse IPv6 Host headers sent by browsers. See
+          https://github.com/Pylons/webob/pull/332
         
-        1.6.1 (2016-05-20)
+        1.7.2 (2017-03-15)
         ------------------
         
         Bugfix
         ~~~~~~
         
-        - Response.from_file now parses the status line correctly when the status line
-          contains an HTTP with version, as well as a status text that contains
-          multiple white spaces (e.g 404 Not Found). See
-          https://github.com/Pylons/webob/issues/250
+        - Allow unnamed fields in form data to be properly transcoded when calling
+          request.decode with an alternate encoding. See
+          https://github.com/Pylons/webob/pull/309
+        
+        1.7.1 (2017-01-16)
+        ------------------
+        
+        Bugfix
+        ~~~~~~
+        
+        - ``Response.__init__`` would discard ``app_iter`` when a ``Response`` had no
+          body, this would cause issues when ``app_iter`` was an object that was tied
+          to the life-cycle of a web application and had to be properly closed.
+          ``app_iter`` is more advanced API for ``Response`` and thus even if it
+          contains a body and is thus against the HTTP RFC's, we should let the users
+          shoot themselves by returning a body. See
+          https://github.com/Pylons/webob/issues/305
         
         
-        1.6.0 (2016-03-15)
+        1.7.0 (2016-12-22)
         ------------------
         
         Compatibility
         ~~~~~~~~~~~~~
         
-        - Python 3.2 is no longer supported by WebOb
+        - WebOb is no longer supported on Python 2.6 and PyPy3 (due to pip no longer
+          supporting Python 3.2 even on PyPy)
+        
+        Backwards Incompatibility
+        ~~~~~~~~~~~~~~~~~~~~~~~~~
+        
+        - ``Response.content_type`` removes all existing Content-Type parameters, and
+          if the new Content-Type is "texty" it adds a new charset (unless already
+          provided) using the ``default_charset``. See
+          https://github.com/Pylons/webob/pull/301
+        
+        - ``Response.set_cookie`` no longer accepts a key argument. This was deprecated
+          in WebOb 1.5 and as mentioned in the deprecation, is being removed in 1.7
+        
+        - ``Response.__init__`` will no longer set the default Content-Type, nor
+          Content-Length on Responses that don't have a body. This allows WebOb to
+          return proper responses for things like `Response(status='204 No Content')`.
+        
+        - ``Response.text`` will no longer raise if the Content-Type does not have a
+          charset, it will fall back to using the new ``default_body_encoding`. To get
+          the old behaviour back please sub-class ``Response`` and set
+          ``default_body_encoding`` to ``None``. See
+          https://github.com/Pylons/webob/pull/287
+        
+        - WebOb no longer supports Chunked Encoding, this means that if you are using
+          WebOb and need Chunked Encoding you will be required to have a proxy that
+          unchunks the request for you. Please read
+          https://github.com/Pylons/webob/issues/279 for more background.
+        
+        Feature
+        ~~~~~~~
+        
+        - ``Response`` has a new ``default_body_encoding`` which may be used to allow
+          getting/setting ``Response.text`` when a Content-Type has no charset. See
+          https://github.com/Pylons/webob/pull/287
+        
+        - ``webob.Request`` with any HTTP method is now allowed to have a body. This
+          allows DELETE to have a request body for passing extra information. See
+          https://github.com/Pylons/webob/pull/283 and
+          https://github.com/Pylons/webob/pull/274
+        
+        - Add ``tell()`` to ``ResponseBodyFile`` so that it may be used for example for
+          zipfile support. See https://github.com/Pylons/webob/pull/117
+        
+        - Allow the return from ``wsgify.middleware`` to be used as a decorator. See
+          https://github.com/Pylons/webob/pull/228
         
         Bugfix
         ~~~~~~
         
-        - Request.decode attempted to read from the an already consumed stream, it has
-          now been redirected to another stream to read from. See
-          https://github.com/Pylons/webob/pull/183
+        - Fixup ``cgi.FieldStorage`` on Python 3.x to work-around issue reported in
+          Python bug report 27777 and 24764. This is currently applied for Python
+          versions less than 3.7. See https://github.com/Pylons/webob/pull/294 and
+          https://github.com/Pylons/webob/pull/300
         
-        - The application/json media type does not allow for a charset as discovery of
-          the encoding is done at the JSON layer. Upon initialization of a Response
-          WebOb will no longer add a charset if the content-type is set to JSON. See
-          https://github.com/Pylons/webob/pull/197 and
-          https://github.com/Pylons/pyramid/issues/1611
+        - ``Response.set_cookie`` now accepts ``datetime`` objects for the ``expires``
+          kwarg and will correctly convert them to UTC with no tzinfo for use in
+          calculating the ``max_age``. See https://github.com/Pylons/webob/issues/254
+          and https://github.com/Pylons/webob/pull/292
         
-        Features
-        ~~~~~~~~
+        - Fixes ``request.PATH_SAFE`` to contain all of the path safe characters
+          according to RFC3986. See https://github.com/Pylons/webob/pull/291
         
-        - Lazily HTML escapes environment keys in HTTP Exceptions so that those keys in
-          the environ that are not used in the output of the page don't raise an
-          exception due to inability to be properly escaped. See
-          https://github.com/Pylons/webob/pull/139
+        - WebOb's exceptions will lazily read underlying variables when inserted into
+          templates to avoid expensive computations/crashes when inserting into the
+          template. This had a bad performance regression on Py27 because of the way
+          the lazified class was created and returned. See
+          https://github.com/Pylons/webob/pull/284
         
-        - MIMEAccept now accepts comparisons against wildcards, this allows one to
-          match on just the media type or sub-type, without having to explicitly match
-          on both the media type and sub-type at the same time. See
-          https://github.com/Pylons/webob/pull/185
+        - ``wsgify.__call__`` raised a ``TypeError`` with an unhelpful message, it will
+          now return the ``repr`` for the wrapped function:
+          https://github.com/Pylons/webob/issues/119
         
-        - Add the ability to return a JSON body from an exception. Using the Accept
-          information in the request, the exceptions will now automatically return a
-          JSON version of the exception instead of just HTML or text. See
-          https://github.com/Pylons/webob/pull/230 and
-          https://github.com/Pylons/webob/issues/209
+        - ``Response.json``'s ``json.dumps``/``json.loads`` are now always UTF-8. It no
+          longer tries to use the charset.
         
-        Security
-        ~~~~~~~~
+        - The ``Response.__init__`` will by default no longer set the Content-Type to
+          the default if a ``headerlist`` is provided. This fixes issues whereby
+          ``Request.get_response()`` would return a Response that didn't match the
+          actual response. See https://github.com/Pylons/webob/pull/261 and
+          https://github.com/Pylons/webob/issues/205
+        
+        - Cleans up the remainder of the issues with the updated WebOb exceptions that
+          were taught to return JSON in version 1.6. See
+          https://github.com/Pylons/webob/issues/237 and
+          https://github.com/Pylons/webob/issues/236
+        
+        - ``Response.from_file`` now parses the status line correctly when the status
+          line contains an HTTP with version, as well as a status text that contains
+          multiple white spaces (e.g HTTP/1.1 404 Not Found). See
+          https://github.com/Pylons/webob/issues/250
         
-        - exc._HTTPMove and any subclasses will now raise a ValueError if the location
-          field contains a line feed or carriage return. These values may lead to
-          possible HTTP Response Splitting. The header_getter descriptor has also been
-          modified to no longer accept headers with a line feed or carriage return.
-          See: https://github.com/Pylons/webob/pull/229 and
-          https://github.com/Pylons/webob/issues/217
+        - ``Response`` now has a new property named ``has_body`` that may be used to
+          interrogate the ``Response`` to find out if ``Response.body`` is or isn't
+          set.
         
+          This is used in the exception handling code so that if you use a WebOb HTTP
+          Exception and pass a generator to ``app_iter`` WebOb won't attempt to read
+          the whole thing and instead allows it to be returned to the WSGI server. See
+          https://github.com/Pylons/webob/pull/259
         
 Keywords: wsgi request web http
 Platform: UNKNOWN
@@ -128,10 +195,10 @@ Classifier: License :: OSI Approved :: MIT License
 Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
 Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
 Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Middleware
-Classifier: Programming Language :: Python :: 2.6
 Classifier: Programming Language :: Python :: 2.7
 Classifier: Programming Language :: Python :: 3.3
 Classifier: Programming Language :: Python :: 3.4
 Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
diff --git a/README.rst b/README.rst
index bdca2b8..1b3d83e 100644
--- a/README.rst
+++ b/README.rst
@@ -20,14 +20,14 @@ parse HTTP responses.
 Support and Documentation
 -------------------------
 
-See the `WebOb Documentation website <http://webob.readthedocs.org/>`_ to view
+See the `WebOb Documentation website <https://webob.readthedocs.io/>`_ to view
 documentation, report bugs, and obtain support.
 
 License
 -------
 
 WebOb is offered under the `MIT-license
-<http://webob.readthedocs.org/en/latest/license.html>`_.
+<https://webob.readthedocs.io/en/latest/license.html>`_.
 
 Authors
 -------
diff --git a/WebOb.egg-info/PKG-INFO b/WebOb.egg-info/PKG-INFO
index 6784294..f05a977 100644
--- a/WebOb.egg-info/PKG-INFO
+++ b/WebOb.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: WebOb
-Version: 1.6.2
+Version: 1.7.3
 Summary: WSGI request and response object
 Home-page: http://webob.org/
 Author: Pylons Project
@@ -28,14 +28,14 @@ Description: WebOb
         Support and Documentation
         -------------------------
         
-        See the `WebOb Documentation website <http://webob.readthedocs.org/>`_ to view
+        See the `WebOb Documentation website <https://webob.readthedocs.io/>`_ to view
         documentation, report bugs, and obtain support.
         
         License
         -------
         
         WebOb is offered under the `MIT-license
-        <http://webob.readthedocs.org/en/latest/license.html>`_.
+        <https://webob.readthedocs.io/en/latest/license.html>`_.
         
         Authors
         -------
@@ -45,80 +45,147 @@ Description: WebOb
         
         
         
-        1.6.2 (2016-10-14)
+        1.7.3 (2017-06-30)
         ------------------
         
         Bugfix
         ~~~~~~
         
-        - WebOb's exceptions will lazily read underlying variables when inserted into
-          templates to avoid expensive computations/crashes when inserting into the
-          template. This had a bad performance regression on Py27 because of the way
-          the lazified class was created and returned. See
-          https://github.com/Pylons/webob/pull/284
+        - Request.host_url, Request.host_port and Request.domain now all understand and
+          know how to parse IPv6 Host headers sent by browsers. See
+          https://github.com/Pylons/webob/pull/332
         
-        1.6.1 (2016-05-20)
+        1.7.2 (2017-03-15)
         ------------------
         
         Bugfix
         ~~~~~~
         
-        - Response.from_file now parses the status line correctly when the status line
-          contains an HTTP with version, as well as a status text that contains
-          multiple white spaces (e.g 404 Not Found). See
-          https://github.com/Pylons/webob/issues/250
+        - Allow unnamed fields in form data to be properly transcoded when calling
+          request.decode with an alternate encoding. See
+          https://github.com/Pylons/webob/pull/309
+        
+        1.7.1 (2017-01-16)
+        ------------------
+        
+        Bugfix
+        ~~~~~~
+        
+        - ``Response.__init__`` would discard ``app_iter`` when a ``Response`` had no
+          body, this would cause issues when ``app_iter`` was an object that was tied
+          to the life-cycle of a web application and had to be properly closed.
+          ``app_iter`` is more advanced API for ``Response`` and thus even if it
+          contains a body and is thus against the HTTP RFC's, we should let the users
+          shoot themselves by returning a body. See
+          https://github.com/Pylons/webob/issues/305
         
         
-        1.6.0 (2016-03-15)
+        1.7.0 (2016-12-22)
         ------------------
         
         Compatibility
         ~~~~~~~~~~~~~
         
-        - Python 3.2 is no longer supported by WebOb
+        - WebOb is no longer supported on Python 2.6 and PyPy3 (due to pip no longer
+          supporting Python 3.2 even on PyPy)
+        
+        Backwards Incompatibility
+        ~~~~~~~~~~~~~~~~~~~~~~~~~
+        
+        - ``Response.content_type`` removes all existing Content-Type parameters, and
+          if the new Content-Type is "texty" it adds a new charset (unless already
+          provided) using the ``default_charset``. See
+          https://github.com/Pylons/webob/pull/301
+        
+        - ``Response.set_cookie`` no longer accepts a key argument. This was deprecated
+          in WebOb 1.5 and as mentioned in the deprecation, is being removed in 1.7
+        
+        - ``Response.__init__`` will no longer set the default Content-Type, nor
+          Content-Length on Responses that don't have a body. This allows WebOb to
+          return proper responses for things like `Response(status='204 No Content')`.
+        
+        - ``Response.text`` will no longer raise if the Content-Type does not have a
+          charset, it will fall back to using the new ``default_body_encoding`. To get
+          the old behaviour back please sub-class ``Response`` and set
+          ``default_body_encoding`` to ``None``. See
+          https://github.com/Pylons/webob/pull/287
+        
+        - WebOb no longer supports Chunked Encoding, this means that if you are using
+          WebOb and need Chunked Encoding you will be required to have a proxy that
+          unchunks the request for you. Please read
+          https://github.com/Pylons/webob/issues/279 for more background.
+        
+        Feature
+        ~~~~~~~
+        
+        - ``Response`` has a new ``default_body_encoding`` which may be used to allow
+          getting/setting ``Response.text`` when a Content-Type has no charset. See
+          https://github.com/Pylons/webob/pull/287
+        
+        - ``webob.Request`` with any HTTP method is now allowed to have a body. This
+          allows DELETE to have a request body for passing extra information. See
+          https://github.com/Pylons/webob/pull/283 and
+          https://github.com/Pylons/webob/pull/274
+        
+        - Add ``tell()`` to ``ResponseBodyFile`` so that it may be used for example for
+          zipfile support. See https://github.com/Pylons/webob/pull/117
+        
+        - Allow the return from ``wsgify.middleware`` to be used as a decorator. See
+          https://github.com/Pylons/webob/pull/228
         
         Bugfix
         ~~~~~~
         
-        - Request.decode attempted to read from the an already consumed stream, it has
-          now been redirected to another stream to read from. See
-          https://github.com/Pylons/webob/pull/183
+        - Fixup ``cgi.FieldStorage`` on Python 3.x to work-around issue reported in
+          Python bug report 27777 and 24764. This is currently applied for Python
+          versions less than 3.7. See https://github.com/Pylons/webob/pull/294 and
+          https://github.com/Pylons/webob/pull/300
         
-        - The application/json media type does not allow for a charset as discovery of
-          the encoding is done at the JSON layer. Upon initialization of a Response
-          WebOb will no longer add a charset if the content-type is set to JSON. See
-          https://github.com/Pylons/webob/pull/197 and
-          https://github.com/Pylons/pyramid/issues/1611
+        - ``Response.set_cookie`` now accepts ``datetime`` objects for the ``expires``
+          kwarg and will correctly convert them to UTC with no tzinfo for use in
+          calculating the ``max_age``. See https://github.com/Pylons/webob/issues/254
+          and https://github.com/Pylons/webob/pull/292
         
-        Features
-        ~~~~~~~~
+        - Fixes ``request.PATH_SAFE`` to contain all of the path safe characters
+          according to RFC3986. See https://github.com/Pylons/webob/pull/291
         
-        - Lazily HTML escapes environment keys in HTTP Exceptions so that those keys in
-          the environ that are not used in the output of the page don't raise an
-          exception due to inability to be properly escaped. See
-          https://github.com/Pylons/webob/pull/139
+        - WebOb's exceptions will lazily read underlying variables when inserted into
+          templates to avoid expensive computations/crashes when inserting into the
+          template. This had a bad performance regression on Py27 because of the way
+          the lazified class was created and returned. See
+          https://github.com/Pylons/webob/pull/284
         
-        - MIMEAccept now accepts comparisons against wildcards, this allows one to
-          match on just the media type or sub-type, without having to explicitly match
-          on both the media type and sub-type at the same time. See
-          https://github.com/Pylons/webob/pull/185
+        - ``wsgify.__call__`` raised a ``TypeError`` with an unhelpful message, it will
+          now return the ``repr`` for the wrapped function:
+          https://github.com/Pylons/webob/issues/119
         
-        - Add the ability to return a JSON body from an exception. Using the Accept
-          information in the request, the exceptions will now automatically return a
-          JSON version of the exception instead of just HTML or text. See
-          https://github.com/Pylons/webob/pull/230 and
-          https://github.com/Pylons/webob/issues/209
+        - ``Response.json``'s ``json.dumps``/``json.loads`` are now always UTF-8. It no
+          longer tries to use the charset.
         
-        Security
-        ~~~~~~~~
+        - The ``Response.__init__`` will by default no longer set the Content-Type to
+          the default if a ``headerlist`` is provided. This fixes issues whereby
+          ``Request.get_response()`` would return a Response that didn't match the
+          actual response. See https://github.com/Pylons/webob/pull/261 and
+          https://github.com/Pylons/webob/issues/205
+        
+        - Cleans up the remainder of the issues with the updated WebOb exceptions that
+          were taught to return JSON in version 1.6. See
+          https://github.com/Pylons/webob/issues/237 and
+          https://github.com/Pylons/webob/issues/236
+        
+        - ``Response.from_file`` now parses the status line correctly when the status
+          line contains an HTTP with version, as well as a status text that contains
+          multiple white spaces (e.g HTTP/1.1 404 Not Found). See
+          https://github.com/Pylons/webob/issues/250
         
-        - exc._HTTPMove and any subclasses will now raise a ValueError if the location
-          field contains a line feed or carriage return. These values may lead to
-          possible HTTP Response Splitting. The header_getter descriptor has also been
-          modified to no longer accept headers with a line feed or carriage return.
-          See: https://github.com/Pylons/webob/pull/229 and
-          https://github.com/Pylons/webob/issues/217
+        - ``Response`` now has a new property named ``has_body`` that may be used to
+          interrogate the ``Response`` to find out if ``Response.body`` is or isn't
+          set.
         
+          This is used in the exception handling code so that if you use a WebOb HTTP
+          Exception and pass a generator to ``app_iter`` WebOb won't attempt to read
+          the whole thing and instead allows it to be returned to the WSGI server. See
+          https://github.com/Pylons/webob/pull/259
         
 Keywords: wsgi request web http
 Platform: UNKNOWN
@@ -128,10 +195,10 @@ Classifier: License :: OSI Approved :: MIT License
 Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
 Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
 Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Middleware
-Classifier: Programming Language :: Python :: 2.6
 Classifier: Programming Language :: Python :: 2.7
 Classifier: Programming Language :: Python :: 3.3
 Classifier: Programming Language :: Python :: 3.4
 Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
diff --git a/WebOb.egg-info/SOURCES.txt b/WebOb.egg-info/SOURCES.txt
index 734ecec..009c7b8 100644
--- a/WebOb.egg-info/SOURCES.txt
+++ b/WebOb.egg-info/SOURCES.txt
@@ -3,12 +3,12 @@
 CHANGES.txt
 HISTORY.txt
 README.rst
+appveyor.yml
 contributing.md
 rtd.txt
 setup.cfg
 setup.py
 tox.ini
-toxfast.ini
 WebOb.egg-info/PKG-INFO
 WebOb.egg-info/SOURCES.txt
 WebOb.egg-info/dependency_links.txt
@@ -29,6 +29,7 @@ docs/license.txt
 docs/reference.txt
 docs/whatsnew-1.5.txt
 docs/whatsnew-1.6.txt
+docs/whatsnew-1.7.txt
 docs/wiki-example.txt
 docs/_static/.empty
 docs/api/client.txt
diff --git a/WebOb.egg-info/requires.txt b/WebOb.egg-info/requires.txt
index dba0337..08f26e4 100644
--- a/WebOb.egg-info/requires.txt
+++ b/WebOb.egg-info/requires.txt
@@ -4,5 +4,6 @@ Sphinx >= 1.3.1
 pylons-sphinx-themes
 
 [testing]
-nose
+pytest
 coverage
+pytest-cov
diff --git a/appveyor.yml b/appveyor.yml
new file mode 100644
index 0000000..bc7aa9b
--- /dev/null
+++ b/appveyor.yml
@@ -0,0 +1,23 @@
+environment:
+  matrix:
+    - PYTHON: "C:\\Python35"
+      TOXENV: "py35"
+    - PYTHON: "C:\\Python27"
+      TOXENV: "py27"
+    - PYTHON: "C:\\Python27-x64"
+      TOXENV: "py27"
+    - PYTHON: "C:\\Python35-x64"
+      TOXENV: "py35"
+
+cache:
+    - '%LOCALAPPDATA%\pip\Cache'
+
+version: '{branch}.{build}'
+
+install:
+  - "%PYTHON%\\python.exe -m pip install tox"
+
+build: off
+
+test_script:
+  - "%PYTHON%\\Scripts\\tox.exe"
diff --git a/docs/api/response.txt b/docs/api/response.txt
index 61e7631..654a809 100644
--- a/docs/api/response.txt
+++ b/docs/api/response.txt
@@ -7,5 +7,7 @@ Response
 .. automodule:: webob.response
 .. autoclass:: webob.response.Response
    :members:
+.. autoclass:: webob.response.ResponseBodyFile
+   :members:
 .. autoclass:: webob.response.AppIterRange
    :members:
diff --git a/docs/conf.py b/docs/conf.py
index 321769e..bfc7d1a 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -56,6 +56,8 @@ html_static_path = ['_static']
 
 htmlhelp_basename = 'WebObdoc'
 
+html_use_smartypants = False
+
 # -- Options for LaTeX output ---------------------------------------------
 
 latex_elements = {
diff --git a/docs/differences.txt b/docs/differences.txt
index fdc6817..fd2ce39 100644
--- a/docs/differences.txt
+++ b/docs/differences.txt
@@ -61,6 +61,9 @@ Response
 ``flush()`` and ``tell()``:
     Not available.
 
+``tell()``:
+    Available in ``res.body_file.tell()``.
+
 There are also many extra methods and attributes on WebOb Response
 objects.
 
@@ -162,7 +165,7 @@ dictionary-like:
 ``has_header(header)``:
     Use ``header in res.headers``
 
-``flush()``, ``tell()``:
+``flush()``:
     Not available
 
 ``content``:
diff --git a/docs/do-it-yourself.txt b/docs/do-it-yourself.txt
index 3b65c7d..e88bbab 100644
--- a/docs/do-it-yourself.txt
+++ b/docs/do-it-yourself.txt
@@ -295,7 +295,7 @@ To do that we'll write a `decorator <http://www.ddj.com/web-development/18440607
 
 **line 6**: Here we catch any ``webob.exc.HTTPException`` exceptions.  This is so you can do ``raise webob.exc.HTTPNotFound()`` in your function.  These exceptions are themselves WSGI applications.
 
-**line 7**: We call the function with the request object, any any variables in ``req.urlvars``.  And we get back a response.
+**line 7**: We call the function with the request object, any variables in ``req.urlvars``.  And we get back a response.
... 12047 lines suppressed ...

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-webob.git



More information about the Python-modules-commits mailing list