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()