From 078a70e2727b854fedae386d33af69144096f0d9 Mon Sep 17 00:00:00 2001 From: RevMask <45574269+RevMask@users.noreply.github.com> Date: Sun, 17 May 2020 17:41:26 -0400 Subject: [PATCH 1/2] Update README.rst --- README.rst | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/README.rst b/README.rst index e8148f7..47df62a 100644 --- a/README.rst +++ b/README.rst @@ -5,16 +5,14 @@ RANDOM.ORG JSON-RPC API (Release 1) implementation. This is a Python implementation of the RANDOM.ORG JSON-RPC API (R1). It provides either serialized or unserialized access to both the signed and unsigned methods of the API through the RandomOrgClient class. It also provides a convenience class through the RandomOrgClient class, the RandomOrgCache, for precaching requests. In the context of this module, a serialized client is one for which the sequence of requests matches the sequence of responses. -Installation ------------- +I have made changes that seem to work on my Python 3.8.3 install. I don't know if it will work in all cases, or if it will work for you. -To install, simply: - -.. code-block:: bash +Make sure you also have `requests `_ lib installed. - $ pip install rdoclient +Installation of requests lib +---------------------------- -Requires the `requests `_ lib: +To install, simply: .. code-block:: bash From f186f53bec2804aa38db33dd95cd49ab991ba42a Mon Sep 17 00:00:00 2001 From: RevMask <45574269+RevMask@users.noreply.github.com> Date: Sun, 17 May 2020 17:46:04 -0400 Subject: [PATCH 2/2] Update rdoclient.py Changed references to time.clock() to time.process_time() Changed reference to xrange (line 195) to range --- rdoclient/rdoclient.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/rdoclient/rdoclient.py b/rdoclient/rdoclient.py index f84d2e6..edd4b3b 100644 --- a/rdoclient/rdoclient.py +++ b/rdoclient/rdoclient.py @@ -21,6 +21,7 @@ RandomOrgInsufficientBitsError -- bits allowance exceeded. +My changes seem to work for me, but I make no guarantees! (RevMask) """ import json @@ -30,7 +31,7 @@ import uuid from datetime import datetime -from Queue import Queue, Empty +from queue import Queue, Empty import requests @@ -191,7 +192,7 @@ def _populate_queue(self): result = self._process_function(response) # Split bulk response into result sets. - for i in xrange(0, len(result), self._request_number): + for i in range(0, len(result), self._request_number): self._queue.put(result[i:i+self._request_number]) except Exception as e: @@ -1360,7 +1361,7 @@ def get_requests_left(self): http://docs.python-requests.org/en/v2.0-0/user/quickstart/#errors-and-exceptions """ if self._requests_left is None or \ - time.clock() > self._last_response_received_time + _ALLOWANCE_STATE_REFRESH_SECONDS: + time.process_time() > self._last_response_received_time + _ALLOWANCE_STATE_REFRESH_SECONDS: self._get_usage() return self._requests_left @@ -1397,9 +1398,9 @@ def get_bits_left(self): http://docs.python-requests.org/en/v2.0-0/user/quickstart/#errors-and-exceptions """ if self._bits_left is None or \ - time.clock() > self._last_response_received_time + _ALLOWANCE_STATE_REFRESH_SECONDS: + time.process_time() > self._last_response_received_time + _ALLOWANCE_STATE_REFRESH_SECONDS: self._get_usage() - + return self._bits_left @@ -1486,7 +1487,7 @@ def _send_request_core(self, request): # Check server advisory delay. self._advisory_delay_lock.acquire() - wait = self._advisory_delay - (time.clock() - self._last_response_received_time) + wait = self._advisory_delay - (time.process_time() - self._last_response_received_time) self._advisory_delay_lock.release() # Wait the specified delay if necessary and if wait time is not @@ -1549,12 +1550,13 @@ def _send_request_core(self, request): self._advisory_delay_lock.acquire() if 'advisoryDelay' in data['result']: # Convert millis to decimal seconds. - self._advisory_delay = long(data['result']['advisoryDelay']) / 1000.0 + # self._advisory_delay = long(data['result']['advisoryDelay']) / 1000.0 + self._advisory_delay = int(data['result']['advisoryDelay']) / 1000.0 else: # Use default if none from server. self._advisory_delay = _DEFAULT_DELAY - self._last_response_received_time = time.clock() + self._last_response_received_time = time.process_time() self._advisory_delay_lock.release()