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.''')