Hello community, here is the log from the commit of package python-tinyrpc for openSUSE:Factory checked in at 2019-03-05 12:23:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-tinyrpc (Old) and /work/SRC/openSUSE:Factory/.python-tinyrpc.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-tinyrpc" Tue Mar 5 12:23:09 2019 rev:4 rq:681400 version:0.9.4 Changes: -------- --- /work/SRC/openSUSE:Factory/python-tinyrpc/python-tinyrpc.changes 2018-12-24 11:45:16.549245568 +0100 +++ /work/SRC/openSUSE:Factory/.python-tinyrpc.new.28833/python-tinyrpc.changes 2019-03-05 12:23:12.924879974 +0100 @@ -1,0 +2,6 @@ +Mon Mar 4 12:45:19 UTC 2019 - Tomáš Chvátal <[email protected]> + +- Update to 0.9.4: + * Tiny bugfixes only + +------------------------------------------------------------------- Old: ---- tinyrpc-0.9.1.tar.gz New: ---- tinyrpc-0.9.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-tinyrpc.spec ++++++ --- /var/tmp/diff_new_pack.Bavjkf/_old 2019-03-05 12:23:14.580879468 +0100 +++ /var/tmp/diff_new_pack.Bavjkf/_new 2019-03-05 12:23:14.584879468 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-tinyrpc # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 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 @@ -18,16 +18,18 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-tinyrpc -Version: 0.9.1 +Version: 0.9.4 Release: 0 Summary: A modular transport and protocol neutral RPC library License: MIT Group: Development/Languages/Python -Url: http://github.com/mbr/tinyrpc +URL: http://github.com/mbr/tinyrpc Source: https://files.pythonhosted.org/packages/source/t/tinyrpc/tinyrpc-%{version}.tar.gz BuildRequires: %{python_module setuptools} BuildRequires: %{python_module six} +BuildRequires: fdupes BuildRequires: python-rpm-macros +Requires: python-six BuildArch: noarch %python_subpackages @@ -49,6 +51,7 @@ %install %python_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} %files %{python_files} %license LICENSE ++++++ tinyrpc-0.9.1.tar.gz -> tinyrpc-0.9.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-0.9.1/PKG-INFO new/tinyrpc-0.9.4/PKG-INFO --- old/tinyrpc-0.9.1/PKG-INFO 2018-04-30 11:26:02.000000000 +0200 +++ new/tinyrpc-0.9.4/PKG-INFO 2019-01-30 22:56:02.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.0 Name: tinyrpc -Version: 0.9.1 +Version: 0.9.4 Summary: A small, modular, transport and protocol neutral RPC library that, among other things, supports JSON-RPC and zmq. Home-page: http://github.com/mbr/tinyrpc Author: Leo Noordergraaf @@ -9,6 +9,25 @@ Description: tinyrpc: A small and modular way of handling web-related RPC ============================================================ + .. note:: + + Tinyrpc is being revised. + + The current version will enter maintenance mode. + I will keep it alive until Python2 is discontinued. + It can be installed from pip using its version number + e.g. ``pip install tinyrpc==0.9.1``. + + The main line of development will start with version 1.0.0. + It will not try to remain compatible with the 0.9.x version. + It will support Python3 only. + + Main goals for version 1.0.0 are: + + - good Python3 support. + - restructure the code to eliminate unnecessary dependencies. + - rework and extend the documentation with more examples. + Motivation ---------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-0.9.1/README.rst new/tinyrpc-0.9.4/README.rst --- old/tinyrpc-0.9.1/README.rst 2018-04-30 11:17:05.000000000 +0200 +++ new/tinyrpc-0.9.4/README.rst 2019-01-30 22:22:06.000000000 +0100 @@ -1,6 +1,25 @@ tinyrpc: A small and modular way of handling web-related RPC ============================================================ +.. note:: + + Tinyrpc is being revised. + + The current version will enter maintenance mode. + I will keep it alive until Python2 is discontinued. + It can be installed from pip using its version number + e.g. ``pip install tinyrpc==0.9.1``. + + The main line of development will start with version 1.0.0. + It will not try to remain compatible with the 0.9.x version. + It will support Python3 only. + + Main goals for version 1.0.0 are: + + - good Python3 support. + - restructure the code to eliminate unnecessary dependencies. + - rework and extend the documentation with more examples. + Motivation ---------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-0.9.1/setup.py new/tinyrpc-0.9.4/setup.py --- old/tinyrpc-0.9.1/setup.py 2018-04-30 11:24:08.000000000 +0200 +++ new/tinyrpc-0.9.4/setup.py 2019-01-30 22:51:16.000000000 +0100 @@ -9,7 +9,7 @@ setup( name='tinyrpc', - version='0.9.1', + version='0.9.4', description='A small, modular, transport and protocol neutral RPC ' 'library that, among other things, supports JSON-RPC and zmq.', long_description=read('README.rst'), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-0.9.1/tinyrpc/protocols/jsonrpc.py new/tinyrpc-0.9.4/tinyrpc/protocols/jsonrpc.py --- old/tinyrpc-0.9.1/tinyrpc/protocols/jsonrpc.py 2018-04-30 11:17:05.000000000 +0200 +++ new/tinyrpc-0.9.4/tinyrpc/protocols/jsonrpc.py 2019-01-30 22:47:07.000000000 +0100 @@ -255,13 +255,13 @@ if not k in self._ALLOWED_REPLY_KEYS: raise InvalidReplyError('Key not allowed: %s' % k) - if not 'jsonrpc' in rep: + if 'jsonrpc' not in rep: raise InvalidReplyError('Missing jsonrpc (version) in response.') if rep['jsonrpc'] != self.JSON_RPC_VERSION: raise InvalidReplyError('Wrong JSONRPC version') - if not 'id' in rep: + if 'id' not in rep: raise InvalidReplyError('Missing id in response') if ('error' in rep) == ('result' in rep): @@ -274,6 +274,8 @@ error = rep['error'] response.error = error['message'] response._jsonrpc_error_code = error['code'] + if 'data' in error: + response.data = error['data'] else: response = JSONRPCSuccessResponse() response.result = rep.get('result', None) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-0.9.1/tinyrpc/transports/http.py new/tinyrpc-0.9.4/tinyrpc/transports/http.py --- old/tinyrpc-0.9.1/tinyrpc/transports/http.py 2018-04-30 11:17:05.000000000 +0200 +++ new/tinyrpc-0.9.4/tinyrpc/transports/http.py 2019-01-30 22:22:06.000000000 +0100 @@ -3,7 +3,11 @@ import six import requests -import geventwebsocket as websocket +try: + import geventwebsocket as websocket + WEBSOCKET = True +except: + WEBSOCKET = False from . import ClientTransport @@ -36,32 +40,37 @@ if expect_reply: return r.content - -class HttpWebSocketClientTransport(ClientTransport): - """HTTP WebSocket based client transport. - - Requires :py:mod:`websocket-python`. Submits messages to a server using the body of - an ``HTTP`` ``WebSocket`` message. Replies are taken from the response of the websocket. - - The connection is establish on the ``__init__`` because the protocol is connection oriented, - you need to close the connection calling the close method. - - :param endpoint: The URL to connect the websocket. - :param kwargs: Additional parameters for :py:func:`websocket.send`. - """ - def __init__(self, endpoint, **kwargs): - self.endpoint = endpoint - self.request_kwargs = kwargs - self.ws = websocket.create_connection(self.endpoint, **kwargs) - - def send_message(self, message, expect_reply=True): - if not isinstance(message, six.binary_type): - raise TypeError('str expected') - self.ws.send(message) - r = self.ws.recv() - if expect_reply: - return r - - def close(self): - if self.ws is not None: - self.ws.close() +if WEBSOCKET: + class HttpWebSocketClientTransport(ClientTransport): + """HTTP WebSocket based client transport. + + Requires :py:mod:`websocket-python`. Submits messages to a server using the body of + an ``HTTP`` ``WebSocket`` message. Replies are taken from the response of the websocket. + + The connection is establish on the ``__init__`` because the protocol is connection oriented, + you need to close the connection calling the close method. + + :param endpoint: The URL to connect the websocket. + :param kwargs: Additional parameters for :py:func:`websocket.send`. + """ + def __init__(self, endpoint, **kwargs): + self.endpoint = endpoint + self.request_kwargs = kwargs + self.ws = websocket.create_connection(self.endpoint, **kwargs) + + def send_message(self, message, expect_reply=True): + if not isinstance(message, six.binary_type): + raise TypeError('str expected') + self.ws.send(message) + r = self.ws.recv() + if expect_reply: + return r + + def close(self): + if self.ws is not None: + self.ws.close() +else: + class HttpWebSocketClientTransport(ClientTransport): + def __init__(self, endpoint, **kwargs): + raise TypeError('HttpWebSocketClientTransport depends on module ' + 'geventwebsocket; "pip install geventwebsocket" to use this class') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-0.9.1/tinyrpc/transports/wsgi.py new/tinyrpc-0.9.4/tinyrpc/transports/wsgi.py --- old/tinyrpc-0.9.1/tinyrpc/transports/wsgi.py 2018-04-30 11:17:05.000000000 +0200 +++ new/tinyrpc-0.9.4/tinyrpc/transports/wsgi.py 2019-01-30 22:22:06.000000000 +0100 @@ -44,13 +44,8 @@ return self.messages.get() def send_reply(self, context, reply): - if six.PY2: - if not isinstance(reply, str): - raise TypeError('str expected') - else: - if not isinstance(reply, bytes): - raise TypeError('bytes expected') - + if not isinstance(reply, str): + raise TypeError('str expected') context.put(reply) def handle(self, environ, start_response): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-0.9.1/tinyrpc.egg-info/PKG-INFO new/tinyrpc-0.9.4/tinyrpc.egg-info/PKG-INFO --- old/tinyrpc-0.9.1/tinyrpc.egg-info/PKG-INFO 2018-04-30 11:26:02.000000000 +0200 +++ new/tinyrpc-0.9.4/tinyrpc.egg-info/PKG-INFO 2019-01-30 22:56:02.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.0 Name: tinyrpc -Version: 0.9.1 +Version: 0.9.4 Summary: A small, modular, transport and protocol neutral RPC library that, among other things, supports JSON-RPC and zmq. Home-page: http://github.com/mbr/tinyrpc Author: Leo Noordergraaf @@ -9,6 +9,25 @@ Description: tinyrpc: A small and modular way of handling web-related RPC ============================================================ + .. note:: + + Tinyrpc is being revised. + + The current version will enter maintenance mode. + I will keep it alive until Python2 is discontinued. + It can be installed from pip using its version number + e.g. ``pip install tinyrpc==0.9.1``. + + The main line of development will start with version 1.0.0. + It will not try to remain compatible with the 0.9.x version. + It will support Python3 only. + + Main goals for version 1.0.0 are: + + - good Python3 support. + - restructure the code to eliminate unnecessary dependencies. + - rework and extend the documentation with more examples. + Motivation ---------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-0.9.1/tinyrpc.egg-info/requires.txt new/tinyrpc-0.9.4/tinyrpc.egg-info/requires.txt --- old/tinyrpc-0.9.1/tinyrpc.egg-info/requires.txt 2018-04-30 11:26:02.000000000 +0200 +++ new/tinyrpc-0.9.4/tinyrpc.egg-info/requires.txt 2019-01-30 22:56:02.000000000 +0100 @@ -4,9 +4,9 @@ gevent [httpclient] -gevent-websocket requests websocket-client +gevent-websocket [jsonext] jsonext
