From cb900b6d5991869a9528cdd597236cf5da4cbaa1 Mon Sep 17 00:00:00 2001 From: Radoslaw Smigielski Date: Sat, 13 Jan 2024 10:01:46 +0100 Subject: [PATCH 1/2] Remove deprecated CGIHTTPServer and SimpleHTTPServer Both classes CGIHTTPServer and SimpleHTTPServer have been removed in Py3. This change makes green version of CGIHTTPServer and SimpleHTTPServer working again with Py3. --- eventlet/green/BaseHTTPServer.py | 3 +-- eventlet/green/CGIHTTPServer.py | 4 +--- eventlet/green/SimpleHTTPServer.py | 3 +-- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/eventlet/green/BaseHTTPServer.py b/eventlet/green/BaseHTTPServer.py index 493efd2daf..9a737309bf 100644 --- a/eventlet/green/BaseHTTPServer.py +++ b/eventlet/green/BaseHTTPServer.py @@ -1,10 +1,9 @@ from eventlet import patcher from eventlet.green import socket from eventlet.green import SocketServer -import six patcher.inject( - 'BaseHTTPServer' if six.PY2 else 'http.server', + 'http.server', globals(), ('socket', socket), ('SocketServer', SocketServer), diff --git a/eventlet/green/CGIHTTPServer.py b/eventlet/green/CGIHTTPServer.py index c384db5c8e..285b50cb55 100644 --- a/eventlet/green/CGIHTTPServer.py +++ b/eventlet/green/CGIHTTPServer.py @@ -6,10 +6,8 @@ test = None # bind prior to patcher.inject to silence pyflakes warning below patcher.inject( - 'CGIHTTPServer', + 'http.server', globals(), - ('BaseHTTPServer', BaseHTTPServer), - ('SimpleHTTPServer', SimpleHTTPServer), ('urllib', urllib), ('select', select)) diff --git a/eventlet/green/SimpleHTTPServer.py b/eventlet/green/SimpleHTTPServer.py index 89d8b28136..df49fc9eca 100644 --- a/eventlet/green/SimpleHTTPServer.py +++ b/eventlet/green/SimpleHTTPServer.py @@ -3,9 +3,8 @@ from eventlet.green import urllib patcher.inject( - 'SimpleHTTPServer', + 'http.server', globals(), - ('BaseHTTPServer', BaseHTTPServer), ('urllib', urllib)) del patcher From c8faab1a04cd6dba1780903e6f4847269368cd6e Mon Sep 17 00:00:00 2001 From: Radoslaw Smigielski Date: Sat, 13 Jan 2024 08:30:11 +0100 Subject: [PATCH 2/2] Fix doctest example with exception Python traceback contains details that are likely to change depending on the execution environment, these details can be ignored. While the correct exception type (AssertionError) remains unchanged. --- eventlet/event.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/eventlet/event.py b/eventlet/event.py index 6ab455f229..b30fefa382 100644 --- a/eventlet/event.py +++ b/eventlet/event.py @@ -152,9 +152,8 @@ def send(self, result=None, exc=None): It is an error to call :meth:`send` multiple times on the same event. - >>> evt.send('whoops') + >>> evt.send('whoops') # doctest: +IGNORE_EXCEPTION_DETAIL Traceback (most recent call last): - ... AssertionError: Trying to re-send() an already-triggered event. Use :meth:`reset` between :meth:`send` s to reuse an event object.