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 ():


Reply via email to