Hello community,

here is the log from the commit of package python3-CherryPy for 
openSUSE:Factory checked in at 2016-02-08 09:47:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-CherryPy (Old)
 and      /work/SRC/openSUSE:Factory/.python3-CherryPy.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python3-CherryPy"

Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-CherryPy/python3-CherryPy.changes        
2016-02-01 19:57:08.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python3-CherryPy.new/python3-CherryPy.changes   
2016-02-08 09:47:46.000000000 +0100
@@ -1,0 +2,12 @@
+Thu Feb  4 18:00:23 UTC 2016 - a...@gmx.de
+
+- update to version 5.0.0:
+  * Removed deprecated support for "ssl_certificate" and
+    "ssl_private_key" attributes and implicit construction of SSL
+    adapter on Python 2 WSGI servers.
+  * Default SSL Adapter on Python 2 is the builtin SSL adapter,
+    matching Python 3 behavior.
+  * Pull request #94: In proxy tool, defer to Host header for
+    resolving the base if no base is supplied.
+
+-------------------------------------------------------------------

Old:
----
  CherryPy-4.0.0.tar.gz

New:
----
  CherryPy-5.0.0.tar.gz

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

Other differences:
------------------
++++++ python3-CherryPy.spec ++++++
--- /var/tmp/diff_new_pack.CiGaGT/_old  2016-02-08 09:47:47.000000000 +0100
+++ /var/tmp/diff_new_pack.CiGaGT/_new  2016-02-08 09:47:47.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           python3-CherryPy
-Version:        4.0.0
+Version:        5.0.0
 Release:        0
 Url:            http://www.cherrypy.org
 Summary:        Object-Oriented HTTP framework

++++++ CherryPy-4.0.0.tar.gz -> CherryPy-5.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CherryPy-4.0.0/CherryPy.egg-info/PKG-INFO 
new/CherryPy-5.0.0/CherryPy.egg-info/PKG-INFO
--- old/CherryPy-4.0.0/CherryPy.egg-info/PKG-INFO       2015-12-20 
05:53:24.000000000 +0100
+++ new/CherryPy-5.0.0/CherryPy.egg-info/PKG-INFO       2016-02-04 
14:38:54.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: CherryPy
-Version: 4.0.0
+Version: 5.0.0
 Summary: Object-Oriented HTTP framework
 Home-page: http://www.cherrypy.org
 Author: CherryPy Team
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CherryPy-4.0.0/PKG-INFO new/CherryPy-5.0.0/PKG-INFO
--- old/CherryPy-4.0.0/PKG-INFO 2015-12-20 05:53:24.000000000 +0100
+++ new/CherryPy-5.0.0/PKG-INFO 2016-02-04 14:38:54.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: CherryPy
-Version: 4.0.0
+Version: 5.0.0
 Summary: Object-Oriented HTTP framework
 Home-page: http://www.cherrypy.org
 Author: CherryPy Team
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CherryPy-4.0.0/README.txt 
new/CherryPy-5.0.0/README.txt
--- old/CherryPy-4.0.0/README.txt       2014-06-27 22:32:38.000000000 +0200
+++ new/CherryPy-5.0.0/README.txt       2016-02-04 14:15:56.000000000 +0100
@@ -1,10 +1,13 @@
-* To install, change to the directory where setup.py is located and type 
(python-2.3 or later needed):
+* To install, change to the directory where setup.py is located and type
+  (Python 2.6 or later needed):
 
     python setup.py install
 
-* To learn how to use it, look at the examples under cherrypy/tutorial/ or go 
to http://www.cherrypy.org for more info.
+* To learn how to use it, look at the examples under cherrypy/tutorial/
+  or go to http://www.cherrypy.org for more info.
 
-* To run the regression tests, just go to the cherrypy/test/ directory and 
type:
+* To run the regression tests, just go to the cherrypy/test/ directory
+  and type:
 
     nosetests -s ./
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CherryPy-4.0.0/cherrypy/__init__.py 
new/CherryPy-5.0.0/cherrypy/__init__.py
--- old/CherryPy-4.0.0/cherrypy/__init__.py     2015-12-20 05:53:20.000000000 
+0100
+++ new/CherryPy-5.0.0/cherrypy/__init__.py     2016-02-04 14:38:50.000000000 
+0100
@@ -56,7 +56,7 @@
 These API's are described in the `CherryPy specification 
<https://bitbucket.org/cherrypy/cherrypy/wiki/CherryPySpec>`_.
 """
 
-__version__ = "4.0.0"
+__version__ = "5.0.0"
 
 from cherrypy._cpcompat import urljoin as _urljoin, urlencode as _urlencode
 from cherrypy._cpcompat import basestring, unicodestr
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CherryPy-4.0.0/cherrypy/lib/cptools.py 
new/CherryPy-5.0.0/cherrypy/lib/cptools.py
--- old/CherryPy-4.0.0/cherrypy/lib/cptools.py  2015-12-20 05:36:59.000000000 
+0100
+++ new/CherryPy-5.0.0/cherrypy/lib/cptools.py  2016-02-04 14:15:56.000000000 
+0100
@@ -193,11 +193,9 @@
         if lbase is not None:
             base = lbase.split(',')[0]
     if not base:
-        port = request.local.port
-        if port == 80:
-            base = '127.0.0.1'
-        else:
-            base = '127.0.0.1:%s' % port
+        base = request.headers.get('Host', '127.0.0.1')
+        if request.local.port != 80:
+            base += ':%s' % port
 
     if base.find("://") == -1:
         # add http:// or https:// if needed
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CherryPy-4.0.0/cherrypy/process/servers.py 
new/CherryPy-5.0.0/cherrypy/process/servers.py
--- old/CherryPy-4.0.0/cherrypy/process/servers.py      2015-08-29 
14:34:42.000000000 +0200
+++ new/CherryPy-5.0.0/cherrypy/process/servers.py      2016-02-04 
14:15:56.000000000 +0100
@@ -183,8 +183,7 @@
         if not self.httpserver:
             return ''
         host, port = self.bind_addr
-        if getattr(self.httpserver, 'ssl_certificate', None) or \
-                getattr(self.httpserver, 'ssl_adapter', None):
+        if getattr(self.httpserver, 'ssl_adapter', None):
             scheme = "https"
             if port != 443:
                 host += ":%s" % port
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CherryPy-4.0.0/cherrypy/test/test_core.py 
new/CherryPy-5.0.0/cherrypy/test/test_core.py
--- old/CherryPy-4.0.0/cherrypy/test/test_core.py       2015-08-29 
14:34:42.000000000 +0200
+++ new/CherryPy-5.0.0/cherrypy/test/test_core.py       2016-02-04 
14:30:16.000000000 +0100
@@ -555,20 +555,15 @@
         self.assertBody(data)
 
     def testCookies(self):
-        if sys.version_info >= (2, 5):
-            header_value = lambda x: x
-        else:
-            header_value = lambda x: x + ';'
-
         self.getPage("/cookies/single?name=First",
                      [('Cookie', 'First=Dinsdale;')])
-        self.assertHeader('Set-Cookie', header_value('First=Dinsdale'))
+        self.assertHeader('Set-Cookie', 'First=Dinsdale')
 
         self.getPage("/cookies/multiple?names=First&names=Last",
                      [('Cookie', 'First=Dinsdale; Last=Piranha;'),
                       ])
-        self.assertHeader('Set-Cookie', header_value('First=Dinsdale'))
-        self.assertHeader('Set-Cookie', header_value('Last=Piranha'))
+        self.assertHeader('Set-Cookie', 'First=Dinsdale')
+        self.assertHeader('Set-Cookie', 'Last=Piranha')
 
         self.getPage("/cookies/single?name=Something-With%2CComma",
                      [('Cookie', 'Something-With,Comma=some-value')])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CherryPy-4.0.0/cherrypy/wsgiserver/ssl_pyopenssl.py 
new/CherryPy-5.0.0/cherrypy/wsgiserver/ssl_pyopenssl.py
--- old/CherryPy-4.0.0/cherrypy/wsgiserver/ssl_pyopenssl.py     2014-06-27 
22:32:38.000000000 +0200
+++ new/CherryPy-5.0.0/cherrypy/wsgiserver/ssl_pyopenssl.py     2016-02-04 
14:15:56.000000000 +0100
@@ -68,7 +68,7 @@
                 time.sleep(self.ssl_retry)
             except SSL.WantWriteError:
                 time.sleep(self.ssl_retry)
-            except SSL.SysCallError, e:
+            except SSL.SysCallError as e:
                 if is_reader and e.args == (-1, 'Unexpected EOF'):
                     return ""
 
@@ -76,7 +76,7 @@
                 if is_reader and errnum in wsgiserver.socket_errors_to_ignore:
                     return ""
                 raise socket.error(errnum)
-            except SSL.Error, e:
+            except SSL.Error as e:
                 if is_reader and e.args == (-1, 'Unexpected EOF'):
                     return ""
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CherryPy-4.0.0/cherrypy/wsgiserver/wsgiserver2.py 
new/CherryPy-5.0.0/cherrypy/wsgiserver/wsgiserver2.py
--- old/CherryPy-4.0.0/cherrypy/wsgiserver/wsgiserver2.py       2015-12-20 
05:53:20.000000000 +0100
+++ new/CherryPy-5.0.0/cherrypy/wsgiserver/wsgiserver2.py       2016-02-04 
14:38:50.000000000 +0100
@@ -84,19 +84,33 @@
 except:
     import Queue as queue
 import re
-import rfc822
+import email.utils
 import socket
 import sys
+import threading
+import time
+import traceback as traceback_
+import operator
+from urllib import unquote
+import warnings
+import errno
+import logging
+try:
+    # prefer slower Python-based io module
+    import _pyio as io
+except ImportError:
+    # Python 2.6
+    import io
+
+
 if 'win' in sys.platform and hasattr(socket, "AF_INET6"):
     if not hasattr(socket, 'IPPROTO_IPV6'):
         socket.IPPROTO_IPV6 = 41
     if not hasattr(socket, 'IPV6_V6ONLY'):
         socket.IPV6_V6ONLY = 27
-try:
-    import cStringIO as StringIO
-except ImportError:
-    import StringIO
-DEFAULT_BUFFER_SIZE = -1
+
+
+DEFAULT_BUFFER_SIZE = io.DEFAULT_BUFFER_SIZE
 
 
 class FauxSocket(object):
@@ -110,23 +124,6 @@
     socket._fileobject(FauxSocket())._rbuf, basestring)
 del FauxSocket  # this class is not longer required for anything.
 
-import threading
-import time
-import traceback
-
-
-def format_exc(limit=None):
-    """Like print_exc() but return a string. Backport for Python 2.3."""
-    try:
-        etype, value, tb = sys.exc_info()
-        return ''.join(traceback.format_exception(etype, value, tb, limit))
-    finally:
-        etype = value = tb = None
-
-import operator
-
-from urllib import unquote
-import warnings
 
 if sys.version_info >= (3, 0):
     bytestr = bytes
@@ -166,8 +163,6 @@
 FORWARD_SLASH = ntob('/')
 quoted_slash = re.compile(ntob("(?i)%2F"))
 
-import errno
-
 
 def plat_specific_errors(*errnames):
     """Return error numbers for all errors in errnames on this platform.
@@ -211,7 +206,6 @@
 ]
 
 
-import logging
 if not hasattr(logging, 'statistics'):
     logging.statistics = {}
 
@@ -975,7 +969,7 @@
                 self.rfile.read(remaining)
 
         if "date" not in hkeys:
-            self.outheaders.append(("Date", rfc822.formatdate()))
+            self.outheaders.append(("Date", email.utils.formatdate()))
 
         if "server" not in hkeys:
             self.outheaders.append(("Server", self.server.server_name))
@@ -1056,7 +1050,7 @@
             if size < 0:
                 # Read until EOF
                 # reset _rbuf.  we consume it via buf.
-                self._rbuf = StringIO.StringIO()
+                self._rbuf = io.BytesIO()
                 while True:
                     data = self.recv(rbufsize)
                     if not data:
@@ -1071,12 +1065,12 @@
                     # return.
                     buf.seek(0)
                     rv = buf.read(size)
-                    self._rbuf = StringIO.StringIO()
+                    self._rbuf = io.BytesIO()
                     self._rbuf.write(buf.read())
                     return rv
 
                 # reset _rbuf.  we consume it via buf.
-                self._rbuf = StringIO.StringIO()
+                self._rbuf = io.BytesIO()
                 while True:
                     left = size - buf_len
                     # recv() will malloc the amount of memory given as its
@@ -1114,7 +1108,7 @@
                 buf.seek(0)
                 bline = buf.readline(size)
                 if bline.endswith('\n') or len(bline) == size:
-                    self._rbuf = StringIO.StringIO()
+                    self._rbuf = io.BytesIO()
                     self._rbuf.write(buf.read())
                     return bline
                 del bline
@@ -1125,7 +1119,7 @@
                     buf.seek(0)
                     buffers = [buf.read()]
                     # reset _rbuf.  we consume it via buf.
-                    self._rbuf = StringIO.StringIO()
+                    self._rbuf = io.BytesIO()
                     data = None
                     recv = self.recv
                     while data != "\n":
@@ -1137,7 +1131,7 @@
 
                 buf.seek(0, 2)  # seek end
                 # reset _rbuf.  we consume it via buf.
-                self._rbuf = StringIO.StringIO()
+                self._rbuf = io.BytesIO()
                 while True:
                     data = self.recv(self._rbufsize)
                     if not data:
@@ -1159,11 +1153,11 @@
                 if buf_len >= size:
                     buf.seek(0)
                     rv = buf.read(size)
-                    self._rbuf = StringIO.StringIO()
+                    self._rbuf = io.BytesIO()
                     self._rbuf.write(buf.read())
                     return rv
                 # reset _rbuf.  we consume it via buf.
-                self._rbuf = StringIO.StringIO()
+                self._rbuf = io.BytesIO()
                 while True:
                     data = self.recv(self._rbufsize)
                     if not data:
@@ -1762,7 +1756,7 @@
     timeout = 10
     """The timeout in seconds for accepted connections (default 10)."""
 
-    version = "CherryPy/4.0.0"
+    version = "CherryPy/5.0.0"
     """A version string for the HTTPServer."""
 
     software = None
@@ -1889,25 +1883,6 @@
         if self.software is None:
             self.software = "%s Server" % self.version
 
-        # SSL backward compatibility
-        if (self.ssl_adapter is None and
-                getattr(self, 'ssl_certificate', None) and
-                getattr(self, 'ssl_private_key', None)):
-            warnings.warn(
-                "SSL attributes are deprecated in CherryPy 3.2, and will "
-                "be removed in CherryPy 3.3. Use an ssl_adapter attribute "
-                "instead.",
-                DeprecationWarning
-            )
-            try:
-                from cherrypy.wsgiserver.ssl_pyopenssl import pyOpenSSLAdapter
-            except ImportError:
-                pass
-            else:
-                self.ssl_adapter = pyOpenSSLAdapter(
-                    self.ssl_certificate, self.ssl_private_key,
-                    getattr(self, 'ssl_certificate_chain', None))
-
         # Select the appropriate socket
         if isinstance(self.bind_addr, basestring):
             # AF_UNIX socket
@@ -1920,7 +1895,7 @@
 
             # So everyone can access the socket...
             try:
-                os.chmod(self.bind_addr, 511)  # 0777
+                os.chmod(self.bind_addr, 0o777)
             except:
                 pass
 
@@ -1989,7 +1964,7 @@
         sys.stderr.write(msg + '\n')
         sys.stderr.flush()
         if traceback:
-            tblines = format_exc()
+            tblines = traceback_.format_exc()
             sys.stderr.write(tblines)
             sys.stderr.flush()
 
@@ -2191,7 +2166,7 @@
 }
 
 
-def get_ssl_adapter_class(name='pyopenssl'):
+def get_ssl_adapter_class(name='builtin'):
     """Return an SSL adapter class for the given name."""
     adapter = ssl_adapters[name.lower()]
     if isinstance(adapter, basestring):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CherryPy-4.0.0/cherrypy/wsgiserver/wsgiserver3.py 
new/CherryPy-5.0.0/cherrypy/wsgiserver/wsgiserver3.py
--- old/CherryPy-4.0.0/cherrypy/wsgiserver/wsgiserver3.py       2015-12-20 
05:53:20.000000000 +0100
+++ new/CherryPy-5.0.0/cherrypy/wsgiserver/wsgiserver3.py       2016-02-04 
14:38:50.000000000 +0100
@@ -87,20 +87,28 @@
 import email.utils
 import socket
 import sys
+import threading
+import time
+import traceback as traceback_
+import errno
+import logging
+try:
+    # prefer slower Python-based io module
+    import _pyio as io
+except ImportError:
+    # Python 2.6
+    import io
+
+
 if 'win' in sys.platform and hasattr(socket, "AF_INET6"):
     if not hasattr(socket, 'IPPROTO_IPV6'):
         socket.IPPROTO_IPV6 = 41
     if not hasattr(socket, 'IPV6_V6ONLY'):
         socket.IPV6_V6ONLY = 27
-if sys.version_info < (3, 1):
-    import io
-else:
-    import _pyio as io
+
+
 DEFAULT_BUFFER_SIZE = io.DEFAULT_BUFFER_SIZE
 
-import threading
-import time
-from traceback import format_exc
 
 if sys.version_info >= (3, 0):
     bytestr = bytes
@@ -140,8 +148,6 @@
 FORWARD_SLASH = ntob('/')
 quoted_slash = re.compile(ntob("(?i)%2F"))
 
-import errno
-
 
 def plat_specific_errors(*errnames):
     """Return error numbers for all errors in errnames on this platform.
@@ -185,7 +191,6 @@
 ]
 
 
-import logging
 if not hasattr(logging, 'statistics'):
     logging.statistics = {}
 
@@ -1473,7 +1478,7 @@
     timeout = 10
     """The timeout in seconds for accepted connections (default 10)."""
 
-    version = "CherryPy/4.0.0"
+    version = "CherryPy/5.0.0"
     """A version string for the HTTPServer."""
 
     software = None
@@ -1613,7 +1618,7 @@
 
             # So everyone can access the socket...
             try:
-                os.chmod(self.bind_addr, 511)  # 0777
+                os.chmod(self.bind_addr, 0o777)
             except:
                 pass
 
@@ -1681,7 +1686,7 @@
         sys.stderr.write(msg + '\n')
         sys.stderr.flush()
         if traceback:
-            tblines = format_exc()
+            tblines = traceback_.format_exc()
             sys.stderr.write(tblines)
             sys.stderr.flush()
 
@@ -1879,6 +1884,7 @@
 # of such classes (in which case they will be lazily loaded).
 ssl_adapters = {
     'builtin': 'cherrypy.wsgiserver.ssl_builtin.BuiltinSSLAdapter',
+    'pyopenssl': 'cherrypy.wsgiserver.ssl_pyopenssl.pyOpenSSLAdapter',
 }
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CherryPy-4.0.0/setup.cfg new/CherryPy-5.0.0/setup.cfg
--- old/CherryPy-4.0.0/setup.cfg        2015-12-20 05:53:24.000000000 +0100
+++ new/CherryPy-5.0.0/setup.cfg        2016-02-04 14:38:54.000000000 +0100
@@ -8,7 +8,7 @@
 nocapture = True
 
 [egg_info]
+tag_svn_revision = 0
 tag_date = 0
 tag_build = 
-tag_svn_revision = 0
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CherryPy-4.0.0/setup.py new/CherryPy-5.0.0/setup.py
--- old/CherryPy-4.0.0/setup.py 2015-12-20 05:53:20.000000000 +0100
+++ new/CherryPy-5.0.0/setup.py 2016-02-04 14:38:50.000000000 +0100
@@ -36,7 +36,7 @@
 # arguments for the setup command
 ###############################################################################
 name = "CherryPy"
-version = "4.0.0"
+version = "5.0.0"
 desc = "Object-Oriented HTTP framework"
 long_desc = "CherryPy is a pythonic, object-oriented HTTP framework"
 classifiers = [
@@ -112,7 +112,7 @@
 )
 
 if sys.version_info >= (3, 0):
-    required_python_version = '3.0'
+    required_python_version = '3.1'
 else:
     required_python_version = '2.6'
 


Reply via email to