Hello community,

here is the log from the commit of package python3-Werkzeug for 
openSUSE:Factory checked in at 2017-04-14 13:32:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-Werkzeug (Old)
 and      /work/SRC/openSUSE:Factory/.python3-Werkzeug.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python3-Werkzeug"

Fri Apr 14 13:32:06 2017 rev:3 rq:457145 version:0.11.15

Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-Werkzeug/python3-Werkzeug-doc.changes    
2016-09-27 13:44:17.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.python3-Werkzeug.new/python3-Werkzeug-doc.changes   
    2017-04-14 13:32:43.517753240 +0200
@@ -1,0 +2,24 @@
+Sun Jan  8 20:10:27 UTC 2017 - [email protected]
+
+- specfile:
+  * update copyright year
+
+- update to version 0.11.15:
+  * Bugfix for the bugfix in the previous release.
+
+- changes from version 0.11.14:
+  * Check if platform can fork before importing "ForkingMixIn", raise
+    exception when creating "ForkingWSGIServer" on such a platform,
+    see PR "#999".
+
+- changes from version 0.11.13:
+  * Correct fix for the reloader issuer on certain Windows
+    installations.
+
+- changes from version 0.11.12:
+  * Fix more bugs in multidicts regarding empty lists. See "#1000".
+  * Add some docstrings to some `EnvironBuilder` properties that were
+    previously unintentionally missing.
+  * Added a workaround for the reloader on windows.
+
+-------------------------------------------------------------------
python3-Werkzeug.changes: same change

Old:
----
  Werkzeug-0.11.11.tar.gz

New:
----
  Werkzeug-0.11.15.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python3-Werkzeug-doc.spec ++++++
--- /var/tmp/diff_new_pack.3j5IyY/_old  2017-04-14 13:32:44.545607981 +0200
+++ /var/tmp/diff_new_pack.3j5IyY/_new  2017-04-14 13:32:44.549607416 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python3-Werkzeug-doc
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           python3-Werkzeug-doc
-Version:        0.11.11
+Version:        0.11.15
 Release:        0
 Url:            http://werkzeug.pocoo.org/
 Summary:        Documentation for python3-Werkzeug

python3-Werkzeug.spec: same change
++++++ Werkzeug-0.11.11.tar.gz -> Werkzeug-0.11.15.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Werkzeug-0.11.11/CHANGES new/Werkzeug-0.11.15/CHANGES
--- old/Werkzeug-0.11.11/CHANGES        2016-08-31 15:12:53.000000000 +0200
+++ new/Werkzeug-0.11.15/CHANGES        2016-12-30 23:48:53.000000000 +0100
@@ -1,6 +1,38 @@
 Werkzeug Changelog
 ==================
 
+Version 0.11.15
+---------------
+
+Released on December 30th 2016.
+
+- Bugfix for the bugfix in the previous release.
+
+Version 0.11.14
+---------------
+
+Released on December 30th 2016.
+
+- Check if platform can fork before importing ``ForkingMixIn``, raise exception
+  when creating ``ForkingWSGIServer`` on such a platform, see PR ``#999``.
+
+Version 0.11.13
+---------------
+
+Released on December 26th 2016.
+
+- Correct fix for the reloader issuer on certain Windows installations.
+
+Version 0.11.12
+---------------
+
+Released on December 26th 2016.
+
+- Fix more bugs in multidicts regarding empty lists. See ``#1000``.
+- Add some docstrings to some `EnvironBuilder` properties that were previously
+  unintentionally missing.
+- Added a workaround for the reloader on windows.
+
 Version 0.11.11
 ---------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Werkzeug-0.11.11/PKG-INFO 
new/Werkzeug-0.11.15/PKG-INFO
--- old/Werkzeug-0.11.11/PKG-INFO       2016-08-31 15:13:05.000000000 +0200
+++ new/Werkzeug-0.11.15/PKG-INFO       2016-12-30 23:49:39.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: Werkzeug
-Version: 0.11.11
+Version: 0.11.15
 Summary: The Swiss Army knife of Python web development
 Home-page: http://werkzeug.pocoo.org/
 Author: Armin Ronacher
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Werkzeug-0.11.11/Werkzeug.egg-info/PKG-INFO 
new/Werkzeug-0.11.15/Werkzeug.egg-info/PKG-INFO
--- old/Werkzeug-0.11.11/Werkzeug.egg-info/PKG-INFO     2016-08-31 
15:13:04.000000000 +0200
+++ new/Werkzeug-0.11.15/Werkzeug.egg-info/PKG-INFO     2016-12-30 
23:49:39.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: Werkzeug
-Version: 0.11.11
+Version: 0.11.15
 Summary: The Swiss Army knife of Python web development
 Home-page: http://werkzeug.pocoo.org/
 Author: Armin Ronacher
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Werkzeug-0.11.11/setup.cfg 
new/Werkzeug-0.11.15/setup.cfg
--- old/Werkzeug-0.11.11/setup.cfg      2016-08-31 15:13:05.000000000 +0200
+++ new/Werkzeug-0.11.15/setup.cfg      2016-12-30 23:49:39.000000000 +0100
@@ -8,7 +8,7 @@
 universal = 1
 
 [flake8]
-ignore = E126,E241,E272,E402,E731,W503
+ignore = E126,E241,E272,E305,E402,E731,W503
 exclude = .tox,examples,docs
 max-line-length = 100
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Werkzeug-0.11.11/tests/test_datastructures.py 
new/Werkzeug-0.11.15/tests/test_datastructures.py
--- old/Werkzeug-0.11.11/tests/test_datastructures.py   2016-08-31 
15:12:07.000000000 +0200
+++ new/Werkzeug-0.11.15/tests/test_datastructures.py   2016-12-30 
23:48:20.000000000 +0100
@@ -362,6 +362,24 @@
         with pytest.raises(KeyError):
             d.pop('foos')
 
+    def test_multidict_pop_raise_badrequestkeyerror_for_empty_list_value(self):
+        mapping = [('a', 'b'), ('a', 'c')]
+        md = self.storage_class(mapping)
+
+        md.setlistdefault('empty', [])
+
+        with pytest.raises(KeyError):
+            md.pop('empty')
+
+    def 
test_multidict_popitem_raise_badrequestkeyerror_for_empty_list_value(self):
+        mapping = []
+        md = self.storage_class(mapping)
+
+        md.setlistdefault('empty', [])
+
+        with pytest.raises(KeyError):
+            md.popitem()
+
     def test_setlistdefault(self):
         md = self.storage_class()
         assert md.setlistdefault('u', [-1, -2]) == [-1, -2]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Werkzeug-0.11.11/werkzeug/__init__.py 
new/Werkzeug-0.11.15/werkzeug/__init__.py
--- old/Werkzeug-0.11.11/werkzeug/__init__.py   2016-08-31 15:13:02.000000000 
+0200
+++ new/Werkzeug-0.11.15/werkzeug/__init__.py   2016-12-30 23:49:38.000000000 
+0100
@@ -20,7 +20,7 @@
 from werkzeug._compat import iteritems
 
 # the version.  Usually set automatically by a script.
-__version__ = '0.11.11'
+__version__ = '0.11.15'
 
 
 # This import magic raises concerns quite often which is why the implementation
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Werkzeug-0.11.11/werkzeug/_reloader.py 
new/Werkzeug-0.11.15/werkzeug/_reloader.py
--- old/Werkzeug-0.11.11/werkzeug/_reloader.py  2016-08-19 21:37:38.000000000 
+0200
+++ new/Werkzeug-0.11.15/werkzeug/_reloader.py  2016-12-30 17:59:23.000000000 
+0100
@@ -50,6 +50,21 @@
     return _find_common_roots(rv)
 
 
+def _get_args_for_reloading():
+    """Returns the executable. This contains a workaround for windows
+    if the executable is incorrectly reported to not have the .exe
+    extension which can cause bugs on reloading.
+    """
+    rv = [sys.executable]
+    py_script = sys.argv[0]
+    if os.name == 'nt' and not os.path.exists(py_script) and \
+       os.path.exists(py_script + '.exe'):
+        py_script += '.exe'
+    rv.append(py_script)
+    rv.extend(sys.argv[1:])
+    return rv
+
+
 def _find_common_roots(paths):
     """Out of some paths it finds the common roots that need monitoring."""
     paths = [x.split(os.path.sep) for x in paths]
@@ -93,7 +108,7 @@
         """
         while 1:
             _log('info', ' * Restarting with %s' % self.name)
-            args = [sys.executable] + sys.argv
+            args = _get_args_for_reloading()
             new_environ = os.environ.copy()
             new_environ['WERKZEUG_RUN_MAIN'] = 'true'
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Werkzeug-0.11.11/werkzeug/datastructures.py 
new/Werkzeug-0.11.15/werkzeug/datastructures.py
--- old/Werkzeug-0.11.11/werkzeug/datastructures.py     2016-08-31 
15:12:07.000000000 +0200
+++ new/Werkzeug-0.11.15/werkzeug/datastructures.py     2016-12-30 
23:48:20.000000000 +0100
@@ -606,7 +606,12 @@
                         not in the dictionary.
         """
         try:
-            return dict.pop(self, key)[0]
+            lst = dict.pop(self, key)
+
+            if len(lst) == 0:
+                raise exceptions.BadRequestKeyError()
+
+            return lst[0]
         except KeyError as e:
             if default is not _missing:
                 return default
@@ -616,6 +621,10 @@
         """Pop an item from the dict."""
         try:
             item = dict.popitem(self)
+
+            if len(item[1]) == 0:
+                raise exceptions.BadRequestKeyError()
+
             return (item[0], item[1][0])
         except KeyError as e:
             raise exceptions.BadRequestKeyError(str(e))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Werkzeug-0.11.11/werkzeug/serving.py 
new/Werkzeug-0.11.15/werkzeug/serving.py
--- old/Werkzeug-0.11.11/werkzeug/serving.py    2016-08-31 15:12:07.000000000 
+0200
+++ new/Werkzeug-0.11.15/werkzeug/serving.py    2016-12-30 23:48:22.000000000 
+0100
@@ -42,6 +42,10 @@
 import sys
 import signal
 
+
+can_fork = hasattr(os, "fork")
+
+
 try:
     import ssl
 except ImportError:
@@ -62,12 +66,20 @@
 
 
 try:
-    from SocketServer import ThreadingMixIn, ForkingMixIn
+    import SocketServer as socketserver
     from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler
 except ImportError:
-    from socketserver import ThreadingMixIn, ForkingMixIn
+    import socketserver
     from http.server import HTTPServer, BaseHTTPRequestHandler
 
+ThreadingMixIn = socketserver.ThreadingMixIn
+
+if can_fork:
+    ForkingMixIn = socketserver.ForkingMixIn
+else:
+    class ForkingMixIn(object):
+        pass
+
 # important: do not use relative imports here or python -m will break
 import werkzeug
 from werkzeug._internal import _log
@@ -525,6 +537,8 @@
 
     def __init__(self, host, port, app, processes=40, handler=None,
                  passthrough_errors=False, ssl_context=None, fd=None):
+        if not can_fork:
+            raise ValueError('Your platform does not support forking.')
         BaseWSGIServer.__init__(self, host, port, app, handler,
                                 passthrough_errors, ssl_context, fd)
         self.max_children = processes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Werkzeug-0.11.11/werkzeug/test.py 
new/Werkzeug-0.11.15/werkzeug/test.py
--- old/Werkzeug-0.11.11/werkzeug/test.py       2016-08-31 15:12:07.000000000 
+0200
+++ new/Werkzeug-0.11.15/werkzeug/test.py       2016-12-30 23:48:20.000000000 
+0100
@@ -433,7 +433,7 @@
         def setter(self, value):
             self._input_stream = None
             setattr(self, key, value)
-        return property(getter, setter, doc)
+        return property(getter, setter, doc=doc)
 
     form = form_property('form', MultiDict, doc='''
         A :class:`MultiDict` of form values.''')


Reply via email to