Hello community, here is the log from the commit of package python-WebOb for openSUSE:Factory checked in at 2017-05-17 17:18:28 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-WebOb (Old) and /work/SRC/openSUSE:Factory/.python-WebOb.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-WebOb" Wed May 17 17:18:28 2017 rev:23 rq:493096 version:1.7.2 Changes: -------- --- /work/SRC/openSUSE:Factory/python-WebOb/python-WebOb.changes 2017-04-11 09:41:29.080259346 +0200 +++ /work/SRC/openSUSE:Factory/.python-WebOb.new/python-WebOb.changes 2017-05-17 17:19:05.278866197 +0200 @@ -1,0 +2,14 @@ +Fri May 5 21:53:49 UTC 2017 - [email protected] + +- Fix Provides/Obsoletes. + +------------------------------------------------------------------- +Tue Apr 4 12:47:31 UTC 2017 - [email protected] + +- update to 1.7.2: + - 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 +- Switch to singlespec approach + +------------------------------------------------------------------- Old: ---- WebOb-1.7.1.tar.gz New: ---- WebOb-1.7.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-WebOb.spec ++++++ --- /var/tmp/diff_new_pack.nfpI5q/_old 2017-05-17 17:19:06.946631004 +0200 +++ /var/tmp/diff_new_pack.nfpI5q/_new 2017-05-17 17:19:06.950630440 +0200 @@ -16,30 +16,31 @@ # +%{?!python_module:%define python_module() python-%{**} python3-%{**}} +%define oldpython python Name: python-WebOb -Version: 1.7.1 +Version: 1.7.2 Release: 0 Summary: WSGI request and response object License: MIT Group: Development/Languages/Python Url: http://webob.org/ Source: https://pypi.io/packages/source/W/WebOb/WebOb-%{version}.tar.gz -BuildRequires: python-devel -BuildRequires: python-setuptools -# Test requirements: -# for ssl module: -BuildRequires: python -BuildRequires: python-nose +BuildRequires: %{python_module devel} +BuildRequires: %{python_module pytest-cov} +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module setuptools} +BuildRequires: python-rpm-macros # Documentation requirements: -BuildRequires: python-Sphinx +BuildRequires: python3-Sphinx BuildRoot: %{_tmppath}/%{name}-%{version}-build -Provides: python-webob = %{version} -Obsoletes: python-webob < %{version} -%if 0%{?suse_version} && 0%{?suse_version} <= 1110 -%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} -%else -BuildArch: noarch +%ifpython2 +Obsoletes: %{oldpython}-webob < %{version} +Provides: %{oldpython}-webob = %{version} %endif +BuildArch: noarch + +%python_subpackages %description WebOb provides wrappers around the WSGI request environment, and an @@ -49,33 +50,33 @@ header parsing and accessors for other standard parts of the environment. -%package doc +%package -n python-WebOb-doc Summary: WSGI request and response object - Documentation Group: Documentation/HTML -Requires: %{name} = %{version} +Provides: %{python_module WebOb-doc = %{version}} -%description doc +%description -n python-WebOb-doc This package contains documentation files for %{name}. %prep %setup -q -n WebOb-%{version} %build -python setup.py build -python setup.py build_sphinx && rm build/sphinx/html/.buildinfo +%python_build +%__python3 setup.py build_sphinx && rm build/sphinx/html/.buildinfo %install -python setup.py install --prefix=%{_prefix} --root=%{buildroot} +%python_install %check -python setup.py test +%python_exec setup.py test -%files +%files %python_files %defattr(-,root,root,-) %doc docs/license.txt %{python_sitelib}/* -%files doc +%files -n python-WebOb-doc %defattr(-,root,root,-) %doc build/sphinx/html ++++++ WebOb-1.7.1.tar.gz -> WebOb-1.7.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WebOb-1.7.1/CHANGES.txt new/WebOb-1.7.2/CHANGES.txt --- old/WebOb-1.7.1/CHANGES.txt 2017-01-17 07:45:28.000000000 +0100 +++ new/WebOb-1.7.2/CHANGES.txt 2017-03-16 05:06:14.000000000 +0100 @@ -1,3 +1,13 @@ +1.7.2 (2017-03-15) +------------------ + +Bugfix +~~~~~~ + +- 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) ------------------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WebOb-1.7.1/PKG-INFO new/WebOb-1.7.2/PKG-INFO --- old/WebOb-1.7.1/PKG-INFO 2017-01-17 07:49:24.000000000 +0100 +++ new/WebOb-1.7.2/PKG-INFO 2017-03-16 05:27:34.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: WebOb -Version: 1.7.1 +Version: 1.7.2 Summary: WSGI request and response object Home-page: http://webob.org/ Author: Pylons Project @@ -45,6 +45,16 @@ + 1.7.2 (2017-03-15) + ------------------ + + Bugfix + ~~~~~~ + + - 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) ------------------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WebOb-1.7.1/WebOb.egg-info/PKG-INFO new/WebOb-1.7.2/WebOb.egg-info/PKG-INFO --- old/WebOb-1.7.1/WebOb.egg-info/PKG-INFO 2017-01-17 07:49:19.000000000 +0100 +++ new/WebOb-1.7.2/WebOb.egg-info/PKG-INFO 2017-03-16 05:27:32.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: WebOb -Version: 1.7.1 +Version: 1.7.2 Summary: WSGI request and response object Home-page: http://webob.org/ Author: Pylons Project @@ -45,6 +45,16 @@ + 1.7.2 (2017-03-15) + ------------------ + + Bugfix + ~~~~~~ + + - 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) ------------------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WebOb-1.7.1/docs/do-it-yourself.txt new/WebOb-1.7.2/docs/do-it-yourself.txt --- old/WebOb-1.7.1/docs/do-it-yourself.txt 2016-12-10 04:46:16.000000000 +0100 +++ new/WebOb-1.7.2/docs/do-it-yourself.txt 2017-03-16 04:50:57.000000000 +0100 @@ -295,7 +295,7 @@ **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. **line 10**: We'll allow the function to return a full response object, or just a string. If they return a string, we'll create a ``Response`` object with that (and with the standard ``200 OK`` status, ``text/html`` content type, and ``utf8`` charset/encoding). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WebOb-1.7.1/docs/whatsnew-1.7.txt new/WebOb-1.7.2/docs/whatsnew-1.7.txt --- old/WebOb-1.7.1/docs/whatsnew-1.7.txt 2017-01-17 07:44:04.000000000 +0100 +++ new/WebOb-1.7.2/docs/whatsnew-1.7.txt 2017-03-16 05:26:52.000000000 +0100 @@ -19,7 +19,7 @@ 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``, to emulate the old behaviour you may use the following: - + .. code-block:: python res = Response(content_type='text/html', charset='UTF-8') @@ -27,7 +27,7 @@ assert res.charset == 'UTF-8' params = res.content_type_params - + # Change the Content-Type res.content_type = 'application/unknown' assert res.content_type == 'application/unknown' @@ -47,7 +47,7 @@ .. code-block:: python res = Response(json.dumps({}), content_type='application/json') - + Since ``application/json`` does not have a ``charset``, this will now raise an error. @@ -120,6 +120,11 @@ unchunks the request for you. Please read https://github.com/Pylons/webob/issues/279 for more background. + This changes the behaviour of ``request.is_body_readable``, it will no longer + assume that a request has a body just because it is a particular HTTP verb. + This change also allows any HTTP verb to be able to contain a body, which + allows for example a HTTP body on DELETE or even GET. + Feature ~~~~~~~ @@ -159,7 +164,7 @@ if req.remote_addr not in ips: raise webob.exc.HTTPForbidden('Bad IP: %s' % req.remote_addr) return app - + @restrict_ip(ips=['127.0.0.1']) @wsgify def app(req): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WebOb-1.7.1/setup.cfg new/WebOb-1.7.2/setup.cfg --- old/WebOb-1.7.1/setup.cfg 2017-01-17 07:49:24.000000000 +0100 +++ new/WebOb-1.7.2/setup.cfg 2017-03-16 05:27:34.000000000 +0100 @@ -15,5 +15,4 @@ [egg_info] tag_build = tag_date = 0 -tag_svn_revision = 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WebOb-1.7.1/setup.py new/WebOb-1.7.2/setup.py --- old/WebOb-1.7.1/setup.py 2017-01-17 07:48:20.000000000 +0100 +++ new/WebOb-1.7.2/setup.py 2017-03-16 05:06:22.000000000 +0100 @@ -24,7 +24,7 @@ setup( name='WebOb', - version='1.7.1', + version='1.7.2', description="WSGI request and response object", long_description=README + '\n\n' + CHANGES, classifiers=[ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WebOb-1.7.1/tests/test_request.py new/WebOb-1.7.2/tests/test_request.py --- old/WebOb-1.7.1/tests/test_request.py 2016-11-19 00:30:22.000000000 +0100 +++ new/WebOb-1.7.2/tests/test_request.py 2017-03-16 05:05:57.000000000 +0100 @@ -2618,6 +2618,20 @@ req2 = req2.decode('latin-1') assert body == req2.body + def test_none_field_name(self): + from webob.request import Request + body = b'--FOO\r\nContent-Disposition: form-data\r\n\r\n123\r\n--FOO--' + content_type = 'multipart/form-data; boundary=FOO' + environ = { + 'wsgi.input': BytesIO(body), + 'CONTENT_TYPE': content_type, + 'CONTENT_LENGTH': len(body), + 'REQUEST_METHOD': 'POST' + } + req = Request(environ) + req = req.decode('latin-1') + assert body == req.body + def test_broken_seek(self): # copy() should work even when the input has a broken seek method req = self._blankOne('/', method='POST', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WebOb-1.7.1/webob/request.py new/WebOb-1.7.2/webob/request.py --- old/WebOb-1.7.1/webob/request.py 2017-01-17 07:44:04.000000000 +0100 +++ new/WebOb-1.7.2/webob/request.py 2017-03-16 05:05:57.000000000 +0100 @@ -1638,8 +1638,9 @@ w(b'--') wt(boundary) w(CRLF) - assert name is not None, 'Value associated with no name: %r' % value - wt('Content-Disposition: form-data; name="%s"' % name) + wt('Content-Disposition: form-data') + if name is not None: + wt('; name="%s"' % name) filename = None if getattr(value, 'filename', None): filename = value.filename @@ -1718,12 +1719,15 @@ def transcode_fs(self, fs, content_type): # transcode FieldStorage - if PY3: + if not PY3: def decode(b): - return b + if b is not None: + return b.decode(self.charset, self.errors) + else: + return b else: def decode(b): - return b.decode(self.charset, self.errors) + return b data = [] for field in fs.list or ():
