[Python-modules-commits] [python-werkzeug] 01/06: Import python-werkzeug_0.11.15+dfsg1.orig.tar.gz

Ondřej Nový onovy at moszumanska.debian.org
Mon Jan 2 10:08:32 UTC 2017


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

onovy pushed a commit to branch master
in repository python-werkzeug.

commit a369104063069f8c093872f8b6ce642a5e15cd41
Author: Ondřej Nový <onovy at debian.org>
Date:   Mon Jan 2 11:03:41 2017 +0100

    Import python-werkzeug_0.11.15+dfsg1.orig.tar.gz
---
 .travis.yml          |  2 ++
 CHANGES              | 15 +++++++++++++++
 tox.ini              |  2 +-
 werkzeug/__init__.py |  2 +-
 werkzeug/serving.py  | 18 ++++++++++++++++--
 5 files changed, 35 insertions(+), 4 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 2db571f..d7827b5 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,6 +6,8 @@ python:
     - "3.3"
     - "3.4"
     - "3.5"
+    - "3.6-dev"
+    - "nightly"
 
 install:
     # Travis uses an outdated PyPy, this installs the most recent one.
diff --git a/CHANGES b/CHANGES
index 0805087..68f8814 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,21 @@
 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
 ---------------
 
diff --git a/tox.ini b/tox.ini
index b37dcb7..4786957 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,5 +1,5 @@
 [tox]
-envlist = py26, py27, pypy, py33, py34, py35
+envlist = py26, py27, pypy, py33, py34, py35, py36
 
 [testenv]
 passenv = LANG
diff --git a/werkzeug/__init__.py b/werkzeug/__init__.py
index b2ca4fe..41fc8ef 100644
--- a/werkzeug/__init__.py
+++ b/werkzeug/__init__.py
@@ -20,7 +20,7 @@ import sys
 from werkzeug._compat import iteritems
 
 # the version.  Usually set automatically by a script.
-__version__ = '0.11.13'
+__version__ = '0.11.15'
 
 
 # This import magic raises concerns quite often which is why the implementation
diff --git a/werkzeug/serving.py b/werkzeug/serving.py
index d6abbc3..4fb8317 100644
--- a/werkzeug/serving.py
+++ b/werkzeug/serving.py
@@ -42,6 +42,10 @@ import socket
 import sys
 import signal
 
+
+can_fork = hasattr(os, "fork")
+
+
 try:
     import ssl
 except ImportError:
@@ -62,12 +66,20 @@ def _get_openssl_crypto_module():
 
 
 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 @@ class ForkingWSGIServer(ForkingMixIn, BaseWSGIServer):
 
     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

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



More information about the Python-modules-commits mailing list