<pre style='margin:0'>
Renee Otten (reneeotten) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/7255f5ecbfa71f75a6eda421bcfdfc5bc85221ab">https://github.com/macports/macports-ports/commit/7255f5ecbfa71f75a6eda421bcfdfc5bc85221ab</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 7255f5ecbfa71f75a6eda421bcfdfc5bc85221ab
</span>Author: Renee Otten <reneeotten@macports.org>
AuthorDate: Sat May 9 12:12:07 2020 -0400

<span style='display:block; white-space:pre;color:#404040;'>    py-python-jsonrpc-server: add py38 subport and patch
</span>---
 python/py-python-jsonrpc-server/Portfile           |  6 ++-
 .../files/patch-endpoint.py.diff                   | 63 ++++++++++++++++++++++
 2 files changed, 68 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-python-jsonrpc-server/Portfile b/python/py-python-jsonrpc-server/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 914aeba..d33c88a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-python-jsonrpc-server/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-python-jsonrpc-server/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -21,9 +21,13 @@ checksums           rmd160  900bb755841932f6105be186d652aa82c6a7f54f \
</span>                     sha256  c73bf5495c9dd4d2f902755bedeb6da5afe778e0beee82f0e195c4655352fe37 \
                     size    26123
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-python.versions     27 35 36 37
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+python.versions     27 35 36 37 38
</span> 
 if {${name} ne ${subport}} {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${python.version} == 38} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        patchfiles  patch-endpoint.py.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     depends_build-append \
                         port:py${python.version}-setuptools
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-python-jsonrpc-server/files/patch-endpoint.py.diff b/python/py-python-jsonrpc-server/files/patch-endpoint.py.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..3e0017f
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-python-jsonrpc-server/files/patch-endpoint.py.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,63 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ArchLinux patch for Python 3.8 compatibility:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://git.archlinux.org/svntogit/community.git/tree/trunk/python-3.8.patch?h=packages/python-jsonrpc-server
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+see also upstream PR: https://github.com/palantir/python-jsonrpc-server/pull/37
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- pyls_jsonrpc/endpoint.py.orig  2020-05-09 12:05:24.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ pyls_jsonrpc/endpoint.py       2020-05-09 12:06:40.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -98,7 +98,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             message (dict): The JSON RPC message sent by the client
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         """
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if 'jsonrpc' not in message or message['jsonrpc'] != JSONRPC_VERSION:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            log.warn("Unknown message type %s", message)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            log.warning("Unknown message type %s", message)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             return
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if 'id' not in message:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -135,7 +135,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         try:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             handler = self._dispatcher[method]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         except KeyError:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            log.warn("Ignoring notification for unknown method %s", method)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            log.warning("Ignoring notification for unknown method %s", method)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             return
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         try:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -165,7 +165,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         request_future = self._client_request_futures.pop(msg_id, None)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if not request_future:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            log.warn("Received cancel notification for unknown message id %s", msg_id)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            log.warning("Received cancel notification for unknown message id %s", msg_id)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             return
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         # Will only work if the request hasn't started executing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -230,12 +230,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         request_future = self._server_request_futures.pop(msg_id, None)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if not request_future:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            log.warn("Received response to unknown message id %s", msg_id)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            log.warning("Received response to unknown message id %s", msg_id)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             return
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if error is not None:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             log.debug("Received error response to message %s: %s", msg_id, error)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             request_future.set_exception(JsonRpcException.from_dict(error))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            return
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         log.debug("Received result for message %s: %s", msg_id, result)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         request_future.set_result(result)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- test/test_endpoint.py.orig     2020-05-09 12:07:34.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ test/test_endpoint.py  2020-05-09 12:08:18.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -115,9 +115,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         'params': {'id': MSG_ID}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     })
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    with pytest.raises(exceptions.JsonRpcException) as exc_info:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    with pytest.raises((exceptions.JsonRpcException, futures.CancelledError)) as exc_info:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         assert future.result(timeout=2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    assert exc_info.type == exceptions.JsonRpcRequestCancelled
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    assert exc_info.type in (exceptions.JsonRpcRequestCancelled, futures.CancelledError)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ def test_consume_notification(endpoint, dispatcher):
</span></pre><pre style='margin:0'>

</pre>