Hello community,

here is the log from the commit of package python-Pyro4 for openSUSE:Factory 
checked in at 2020-01-16 18:16:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Pyro4 (Old)
 and      /work/SRC/openSUSE:Factory/.python-Pyro4.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-Pyro4"

Thu Jan 16 18:16:59 2020 rev:6 rq:764902 version:4.77

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-Pyro4/python-Pyro4.changes        
2019-09-30 15:55:17.305872978 +0200
+++ /work/SRC/openSUSE:Factory/.python-Pyro4.new.26092/python-Pyro4.changes     
2020-01-16 18:17:03.336832767 +0100
@@ -1,0 +2,16 @@
+Fri Jan 10 14:54:11 UTC 2020 - Tomáš Chvátal <[email protected]>
+
+- Properly conditionalize python2 build for older openSUSE
+
+-------------------------------------------------------------------
+Thu Jan  9 17:59:58 UTC 2020 - Todd R <[email protected]>
+
+- Update to 4.77
+  * dropped support for Python 3.4 (which has reached end-of-life
+    status). Supported Python versions are now 2.7, and 3.5 or
+    newer.
+  * URIs now allow spaces in the location part. Useful for unix
+    domain sockets.
+- Dropped python2 subpackage due to dropping backports dependency.
+
+-------------------------------------------------------------------

Old:
----
  Pyro4-4.76.tar.gz

New:
----
  Pyro4-4.77.tar.gz

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

Other differences:
------------------
++++++ python-Pyro4.spec ++++++
--- /var/tmp/diff_new_pack.b2nuJv/_old  2020-01-16 18:17:03.956833118 +0100
+++ /var/tmp/diff_new_pack.b2nuJv/_new  2020-01-16 18:17:03.960833121 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-Pyro4
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,12 +17,12 @@
 
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%bcond_without python2
 Name:           python-Pyro4
-Version:        4.76
+Version:        4.77
 Release:        0
 Summary:        Distributed object middleware for Python (RPC)
 License:        MIT
-Group:          Development/Languages/Python
 URL:            https://github.com/irmen/Pyro4
 Source:         
https://files.pythonhosted.org/packages/source/P/Pyro4/Pyro4-%{version}.tar.gz
 BuildRequires:  %{python_module setuptools}
@@ -43,7 +43,9 @@
 BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module serpent >= 1.27}
 BuildRequires:  ca-certificates
+%if %{with python2}
 BuildRequires:  python-selectors34
+%endif
 # /SECTION
 %ifpython2
 Requires:       python-selectors34

++++++ Pyro4-4.76.tar.gz -> Pyro4-4.77.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pyro4-4.76/PKG-INFO new/Pyro4-4.77/PKG-INFO
--- old/Pyro4-4.76/PKG-INFO     2019-06-05 23:31:58.000000000 +0200
+++ new/Pyro4-4.77/PKG-INFO     2019-10-01 22:29:51.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: Pyro4
-Version: 4.76
+Version: 4.77
 Summary: distributed object middleware for Python (RPC)
 Home-page: http://pyro4.readthedocs.io
 Author: Irmen de Jong
@@ -31,10 +31,10 @@
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python
 Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3.4
 Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
 Classifier: Topic :: Software Development :: Object Brokering
 Classifier: Topic :: System :: Distributed Computing
 Classifier: Topic :: System :: Networking
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pyro4-4.76/README.md new/Pyro4-4.77/README.md
--- old/Pyro4-4.76/README.md    2018-09-04 00:11:22.000000000 +0200
+++ new/Pyro4-4.77/README.md    2019-08-25 13:09:29.000000000 +0200
@@ -15,15 +15,62 @@
 runs on many different platforms and Python versions.
 
 
-Documentation can be found online at: http://pyro4.readthedocs.io
-(or unformatted here in the repo at: docs/source/intro.rst)
-
-
 This software is copyright (c) by Irmen de Jong ([email protected]).
 
 This software is released under the MIT software license.
 This license, including disclaimer, is available in the 'LICENSE' file.
 
+Pyro5
+-----
+Pyro4 is considered feature complete and is now in 'maintenance' mode.
+This means that only important bug fixes and security issues will be made to 
Pyro4.
+New development, improvements and new features will only be available in its 
successor
+Pyro5:  https://github.com/irmen/Pyro5
+
+Documentation
+=============
+Documentation can be found online at: http://pyro4.readthedocs.io
+(or unformatted here in the repo at: docs/source/intro.rst)
+
+
+Feature overview
+================
 
-----
-_Are you interested in the most recent cutting edge Pyro version? Go try out 
Pyro5!  https://github.com/irmen/Pyro5_
+Pyro is a library that enables you to build applications in which
+objects can talk to each other over the network, with minimal programming 
effort.
+You can just use normal Python method calls, with almost every possible 
parameter
+and return value type, and Pyro takes care of locating the right object on the 
right
+computer to execute the method. It is designed to be very easy to use, and to
+generally stay out of your way. But it also provides a set of powerful 
features that
+enables you to build distributed applications rapidly and effortlessly.
+Pyro is a pure Python library and runs on many different platforms and Python 
versions.
+
+Here's a quick overview of Pyro's features:
+
+- written in 100% Python so extremely portable, runs on Python 2.7, Python 3.5 
and newer, IronPython, Pypy 2 and 3.
+- works between different system architectures and operating systems.
+- able to communicate between different Python versions transparently.
+- defaults to a safe serializer (serpent https://pypi.python.org/pypi/serpent 
) that supports many Python data types.
+- supports different serializers (serpent, json, marshal, msgpack, pickle, 
cloudpickle, dill).
+- can use IPv4, IPv6 and Unix domain sockets.
+- optional secure connections via SSL/TLS (encryption, authentication and 
integrity), including certificate validation on both ends (2-way ssl).
+- lightweight client library available for .NET and Java native code 
('Pyrolite', provided separately).
+- designed to be very easy to use and get out of your way as much as possible, 
but still provide a lot of flexibility when you do need it.
+- name server that keeps track of your object's actual locations so you can 
move them around transparently.
+- yellow-pages type lookups possible, based on metadata tags on registrations 
in the name server.
+- support for automatic reconnection to servers in case of interruptions.
+- automatic proxy-ing of Pyro objects which means you can return references to 
remote objects just as if it were normal objects.
+- one-way invocations for enhanced performance.
+- batched invocations for greatly enhanced performance of many calls on the 
same object.
+- remote iterator on-demand item streaming avoids having to create large 
collections upfront and transfer them as a whole.
+- you can define timeouts on network communications to prevent a call blocking 
forever if there's something wrong.
+- asynchronous invocations if you want to get the results 'at some later 
moment in time'. Pyro will take care of gathering the result values in the 
background.
+- remote exceptions will be raised in the caller, as if they were local. You 
can extract detailed remote traceback information.
+- http gateway available for clients wanting to use http+json (such as browser 
scripts).
+- stable network communication code that works reliably on many platforms.
+- can hook onto existing sockets created for instance with socketpair() to 
communicate efficiently between threads or sub-processes.
+- possibility to use Pyro's own event loop, or integrate it into your own (or 
third party) event loop.
+- three different possible instance modes for your remote objects (singleton, 
one per session, one per call).
+- many simple examples included to show various features and techniques.
+- large amount of unit tests and high test coverage.
+- reliable and established: built upon more than 15 years of existing Pyro 
history, with ongoing support and development.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pyro4-4.76/docs/source/changelog.rst 
new/Pyro4-4.77/docs/source/changelog.rst
--- old/Pyro4-4.76/docs/source/changelog.rst    2019-06-05 23:14:48.000000000 
+0200
+++ new/Pyro4-4.77/docs/source/changelog.rst    2019-10-01 22:08:08.000000000 
+0200
@@ -2,6 +2,13 @@
 Change Log
 **********
 
+**Pyro 4.77**
+
+- dropped support for Python 3.4 (which has reached end-of-life status). 
Supported Python versions are now 2.7, and 3.5 or newer.
+  (the life cycle status of the Python versions can be seen here 
https://devguide.python.org/#status-of-python-branches)
+- URIs now allow spaces in the location part. Useful for unix domain sockets.
+
+
 **Pyro 4.76**
 
 - corrected bogus space in worker thread name
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pyro4-4.76/docs/source/clientcode.rst 
new/Pyro4-4.77/docs/source/clientcode.rst
--- old/Pyro4-4.76/docs/source/clientcode.rst   2018-08-16 09:50:01.000000000 
+0200
+++ new/Pyro4-4.77/docs/source/clientcode.rst   2019-07-02 15:41:39.000000000 
+0200
@@ -208,6 +208,10 @@
     it to allow the pickle, cloudpickle or dill serializers if your client 
code uses them.
     See :ref:`nameserver-pickle`.
 
+.. caution::
+    Pyro5 won't support insecure serializers such as pickle, cloudpickle and 
dill.
+    If you want your code to be more easily ported to Pyro5 later, there's 
another reason to avoid using them.
+
 
 .. index:: deserialization, serializing custom classes, deserializing custom 
classes
 
@@ -519,6 +523,20 @@
     Asynchronous calls are implemented using a background thread that waits 
for the results.
     Callables from the call chain are invoked sequentially in this background 
thread.
 
+.. note::
+    Be aware that the async setting is on a per-proxy basis (unless you make an
+    exact copy of a proxy using ``copy.copy``).  The async setting is not part 
of a
+    serialized proxy object. So this means for instance if you're using auto 
proxy and
+    use a method on an async proxy that returns a new proxy, those new proxies 
will *not*
+    be async automatically as well.
+
+.. caution::
+    The async proxy concept is not a part of Pyro5. It has been removed in 
favor of
+    an explicit user code solution such as using Python's 
``concurrent.futures`` and
+    not relying on a 'hidden' background thread. It is advised to not use this 
feature
+    if you want your code to be easily portable to Pyro5 later.
+
+
 See the :file:`async` example for more details and example code for call 
chains.
 
 Async calls for normal callables (not only for Pyro proxies)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pyro4-4.76/docs/source/install.rst 
new/Pyro4-4.77/docs/source/install.rst
--- old/Pyro4-4.76/docs/source/install.rst      2018-08-16 09:50:01.000000000 
+0200
+++ new/Pyro4-4.77/docs/source/install.rst      2019-06-25 00:17:21.000000000 
+0200
@@ -12,8 +12,7 @@
 Compatibility
 -------------
 Pyro is written in 100% Python. It works on any recent operating system where 
a suitable supported Python implementation is available
-(2.7, or 3.4 and newer). It also works with Pypy (2 and 3) and IronPython.
-It will probably not work with Jython 2.7 at this time of writing. If you need 
this, try Pyro version 4.34 or older instead.
+(2.7, or 3.5 and newer). It also works with Pypy (2 and 3). Maybe it also 
works with other Python implementations, but those are not tested.
 (if you only need to write *client* code in Jython/Java, consider using 
:doc:`pyrolite` instead!)
 
 
@@ -31,29 +30,24 @@
 Obtaining and installing Pyro
 -----------------------------
 
-**Debian Linux (or Debian derived distributions)**
-    You can install via the package manager: ``apt install python3-pyro4`` 
(for Python 3.x) or ``apt install python2-pyro4`` (for Python 2.x).
-    Please pay attention to the packaged Pyro4 version, it can be quite old if 
you're not getting the package
-    from the testing or unstable repositories.
+**Linux**
+    Some Linux distributions offer Pyro4 through their package manager. Make 
sure you install the correct
+    one for the python version that you are using. It may be more convenient 
to just pip install it instead
+    in a virtualenv.
 
 **Anaconda**
     Anaconda users can install the Pyro4 package from conda-forge using 
``conda install -c conda-forge pyro4``
 
-**Pip**
+**Pip install**
     ``pip install Pyro4`` should do the trick.   Pyro is available `here 
<http://pypi.python.org/pypi/Pyro4/>`_  on pypi.
 
-**Manual installation**
+**Manual installation from source**
     Download the source distribution archive (Pyro4-X.YZ.tar.gz) from Pypi or 
Github, extract and ``python setup.py install``.
     The `serpent <https://pypi.python.org/pypi/serpent>`_ serialization 
library must also be installed.
-    If you're using a version of Python older than 3.4, the `selectors2 
<https://pypi.python.org/pypi/selectors2>`_
+    If you're using a version of Python older than 3.5, the `selectors2 
<https://pypi.python.org/pypi/selectors2>`_
     or `selectors34 <https://pypi.python.org/pypi/selectors34>`_  backported 
module must also be installed
     to be able to use the multiplex server type.
 
-.. attention::
-    When using Python 3.4 or older it is better to install ``selectors2`` 
instead of ``selectors34``.
-    Pyro4's package requirements only refer to ``selectors34`` but Pyro will 
use ``selectors2`` first if it detects it.
-    (reason: selectors2 deals with interrupted system calls better. Python 3.5 
and newer already have this built-in.)
-
 **Github**
     Source is on Github: https://github.com/irmen/Pyro4
     The required serpent serializer library is there as well: 
https://github.com/irmen/Serpent
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pyro4-4.76/docs/source/intro.rst 
new/Pyro4-4.77/docs/source/intro.rst
--- old/Pyro4-4.76/docs/source/intro.rst        2018-08-16 09:50:01.000000000 
+0200
+++ new/Pyro4-4.77/docs/source/intro.rst        2019-06-25 00:16:42.000000000 
+0200
@@ -23,7 +23,7 @@
 
 Here's a quick overview of Pyro's features:
 
-- written in 100% Python so extremely portable, runs on Python 2.7, Python 3.4 
and newer, IronPython, Pypy 2 and 3.
+- written in 100% Python so extremely portable, runs on Python 2.7, Python 3.5 
and newer, IronPython, Pypy 2 and 3.
 - works between different system architectures and operating systems.
 - able to communicate between different Python versions transparently.
 - defaults to a safe serializer (`serpent 
<https://pypi.python.org/pypi/serpent>`_) that supports many Python data types.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pyro4-4.76/docs/source/pyrolite.rst 
new/Pyro4-4.77/docs/source/pyrolite.rst
--- old/Pyro4-4.76/docs/source/pyrolite.rst     2018-08-16 09:50:01.000000000 
+0200
+++ new/Pyro4-4.77/docs/source/pyrolite.rst     2019-07-15 22:21:46.000000000 
+0200
@@ -30,7 +30,7 @@
 
 Source is on Github: https://github.com/irmen/Pyrolite
 
-Readme: https://raw.githubusercontent.com/irmen/Pyrolite/master/README.txt
+Readme: https://github.com/irmen/Pyrolite/blob/master/README.md
 
 
 Small code example in Java:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pyro4-4.76/docs/source/security.rst 
new/Pyro4-4.77/docs/source/security.rst
--- old/Pyro4-4.76/docs/source/security.rst     2018-08-16 09:50:01.000000000 
+0200
+++ new/Pyro4-4.77/docs/source/security.rst     2019-07-02 15:41:45.000000000 
+0200
@@ -29,6 +29,11 @@
 Because of this the default serializer is serpent, which doesn't have this 
security problem.
 Some other means to enhance security are discussed below.
 
+.. caution::
+    Pyro5 won't support insecure serializers such as these. If you want your 
code to be
+    more easily ported to Pyro5 later, there's another reason to avoid using 
them.
+
+
 .. index::
     double: security; network interfaces
 
@@ -86,9 +91,6 @@
 For example code on how to set up a 2-way-SSL Pyro client and server, with 
cert verification,
 see the ``ssl`` example.
 
-.. important::
-    You must use at least Python 2.7.11 / 3.4.4 or newer for proper SSL 
support.
-
 .. index::
     double: security; object traversal
     double: security; dotted names
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pyro4-4.76/docs/source/tipstricks.rst 
new/Pyro4-4.77/docs/source/tipstricks.rst
--- old/Pyro4-4.76/docs/source/tipstricks.rst   2018-08-16 09:50:01.000000000 
+0200
+++ new/Pyro4-4.77/docs/source/tipstricks.rst   2019-07-02 15:39:15.000000000 
+0200
@@ -19,6 +19,10 @@
 Avoid using the ``pickle`` (and ``dill``, and ``cloudpickle``) serializers, 
they will make your solution insecure.
 Avoid using Flame (it requires pickle, but has severe security implications by 
itself).
 
+.. note::
+    These features are not available in Pyro5 as well, so if you want your 
code to be easily portable to Pyro5 later,
+    there's another reason to not use them.
+
 
 Make as little as possible remotely accessible.
 -----------------------------------------------
@@ -265,6 +269,10 @@
 and you can cancel it altogether via the 
:py:meth:`Pyro4.futures.Future.cancel` method (which only works if the future
 hasn't been evaluated yet).
 
+.. note::
+    Async proxies are no longer available in Pyro5, so if you want your code 
to be easily portable to Pyro5 later,
+    it may be better to not use them.
+
 
 .. index:: DNS
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pyro4-4.76/examples/timezones/client.py 
new/Pyro4-4.77/examples/timezones/client.py
--- old/Pyro4-4.76/examples/timezones/client.py 2018-08-16 09:50:01.000000000 
+0200
+++ new/Pyro4-4.77/examples/timezones/client.py 2019-09-01 22:30:52.000000000 
+0200
@@ -41,6 +41,7 @@
 
 # pickle.
 print("\n******* pickle *******")
+print("******* (expecting no errors) ******")
 Pyro4.config.SERIALIZER = "pickle"
 try:
     test()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pyro4-4.76/setup.py new/Pyro4-4.77/setup.py
--- old/Pyro4-4.76/setup.py     2019-03-08 23:14:45.000000000 +0100
+++ new/Pyro4-4.77/setup.py     2019-06-25 00:12:10.000000000 +0200
@@ -70,10 +70,10 @@
             "Operating System :: OS Independent",
             "Programming Language :: Python",
             "Programming Language :: Python :: 2.7",
-            "Programming Language :: Python :: 3.4",
             "Programming Language :: Python :: 3.5",
             "Programming Language :: Python :: 3.6",
             "Programming Language :: Python :: 3.7",
+            "Programming Language :: Python :: 3.8",
             "Topic :: Software Development :: Object Brokering",
             "Topic :: System :: Distributed Computing",
             "Topic :: System :: Networking"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pyro4-4.76/src/Pyro4/constants.py 
new/Pyro4-4.77/src/Pyro4/constants.py
--- old/Pyro4-4.76/src/Pyro4/constants.py       2019-06-05 23:15:54.000000000 
+0200
+++ new/Pyro4-4.77/src/Pyro4/constants.py       2019-10-01 22:17:29.000000000 
+0200
@@ -5,7 +5,7 @@
 """
 
 # Pyro version
-VERSION = "4.76"
+VERSION = "4.77"
 
 # standard object name for the Daemon object
 DAEMON_NAME = "Pyro.Daemon"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pyro4-4.76/src/Pyro4/core.py 
new/Pyro4-4.77/src/Pyro4/core.py
--- old/Pyro4-4.76/src/Pyro4/core.py    2019-03-07 21:34:54.000000000 +0100
+++ new/Pyro4-4.77/src/Pyro4/core.py    2019-10-01 21:56:18.000000000 +0200
@@ -47,7 +47,7 @@
     You can write the protocol in lowercase if you like (``pyro:...``) but it 
will
     automatically be converted to uppercase internally.
     """
-    uriRegEx = 
re.compile(r"(?P<protocol>[Pp][Yy][Rr][Oo][a-zA-Z]*):(?P<object>\S+?)(@(?P<location>\S+))?$")
+    uriRegEx = 
re.compile(r"(?P<protocol>[Pp][Yy][Rr][Oo][a-zA-Z]*):(?P<object>\S+?)(@(?P<location>.+))?$")
 
     def __init__(self, uri):
         if isinstance(uri, URI):
@@ -663,7 +663,9 @@
 
     def _pyroAsync(self, asynchronous=True):
         """turns the proxy into asynchronous mode so you can do asynchronous 
method calls,
-        or sets it back to normal sync mode if you set asynchronous=False."""
+        or sets it back to normal sync mode if you set asynchronous=False.
+        This setting is strictly on a per-proxy basis (unless an exact clone 
is made
+        via copy.copy)."""
         self.__async = asynchronous
 
     if sys.version_info < (3, 7):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pyro4-4.76/src/Pyro4/socketutil.py 
new/Pyro4-4.77/src/Pyro4/socketutil.py
--- old/Pyro4-4.76/src/Pyro4/socketutil.py      2018-08-16 09:50:01.000000000 
+0200
+++ new/Pyro4-4.77/src/Pyro4/socketutil.py      2019-06-25 00:15:09.000000000 
+0200
@@ -582,8 +582,6 @@
         # (disabling vulnerable cyphers and protocols by default). So change 
this at your own peril.
         if sys.version_info < (2, 7, 11):
             raise RuntimeError("need Python 2.7.11 or newer to properly use 
SSL")
-        if (3, 0) < sys.version_info < (3, 4, 4):
-            raise RuntimeError("need Python 3.4.4 or newer to properly use 
SSL")
     if servercert:
         if clientcert:
             raise ValueError("can't have both server cert and client cert")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pyro4-4.76/src/Pyro4.egg-info/PKG-INFO 
new/Pyro4-4.77/src/Pyro4.egg-info/PKG-INFO
--- old/Pyro4-4.76/src/Pyro4.egg-info/PKG-INFO  2019-06-05 23:31:58.000000000 
+0200
+++ new/Pyro4-4.77/src/Pyro4.egg-info/PKG-INFO  2019-10-01 22:29:51.000000000 
+0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: Pyro4
-Version: 4.76
+Version: 4.77
 Summary: distributed object middleware for Python (RPC)
 Home-page: http://pyro4.readthedocs.io
 Author: Irmen de Jong
@@ -31,10 +31,10 @@
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python
 Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3.4
 Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
 Classifier: Topic :: Software Development :: Object Brokering
 Classifier: Topic :: System :: Distributed Computing
 Classifier: Topic :: System :: Networking
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pyro4-4.76/tests/PyroTests/test_core.py 
new/Pyro4-4.77/tests/PyroTests/test_core.py
--- old/Pyro4-4.76/tests/PyroTests/test_core.py 2018-08-16 09:50:01.000000000 
+0200
+++ new/Pyro4-4.77/tests/PyroTests/test_core.py 2019-10-01 21:57:34.000000000 
+0200
@@ -132,6 +132,9 @@
         self.assertEqual(uri, str(p))
         self.assertEqual(unicodeuri, unicode(p))
         self.assertTrue(type(p.sockname) is unicode)
+        uri = "PYRO:12345@./u:sock name with strings"
+        p = Pyro4.core.URI(uri)
+        self.assertEqual(uri, str(p))
 
     def testUriParsingPyro(self):
         p = Pyro4.core.URI("PYRONAME:some_obj_name")
@@ -159,6 +162,9 @@
         p = Pyro4.core.URI("PYRO:12345@./u:/tmp/sockname")
         self.assertEqual("12345", p.object)
         self.assertEqual("/tmp/sockname", p.sockname)
+        p = Pyro4.core.URI("PYRO:12345@./u:/path with spaces/sockname  ")
+        self.assertEqual("12345", p.object)
+        self.assertEqual("/path with spaces/sockname  ", p.sockname)
         p = Pyro4.core.URI("PYRO:12345@./u:../sockname")
         self.assertEqual("12345", p.object)
         self.assertEqual("../sockname", p.sockname)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pyro4-4.76/tests/PyroTests/test_socket.py 
new/Pyro4-4.77/tests/PyroTests/test_socket.py
--- old/Pyro4-4.76/tests/PyroTests/test_socket.py       2019-03-08 
23:28:42.000000000 +0100
+++ new/Pyro4-4.77/tests/PyroTests/test_socket.py       2019-06-25 
00:15:31.000000000 +0200
@@ -558,7 +558,6 @@
 
 
 @unittest.skipIf(not ssl, "ssl tests requires ssl module")
[email protected]((3, 0) < sys.version_info < (3, 4), "ssl needs python 3.4+")
 class TestSSL(unittest.TestCase):
     def testContextAndSock(self):
         cert_dir = "../../certs"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pyro4-4.76/tox.ini new/Pyro4-4.77/tox.ini
--- old/Pyro4-4.76/tox.ini      2018-08-16 09:50:01.000000000 +0200
+++ new/Pyro4-4.77/tox.ini      2019-06-25 00:18:10.000000000 +0200
@@ -1,5 +1,5 @@
 [tox]
-envlist=py27,py34,py35,py36,py37,pypy
+envlist=py27,py35,py36,py37,py38,pypy
 
 [testenv]
 deps=-rtest_requirements.txt


Reply via email to