From 4d52eaa4801df3f3169df8e58758bcccf22dc4de Mon Sep 17 00:00:00 2001
From: Helmut Grohne <helmut@subdivi.de>
Date: Sat, 17 Jun 2023 19:35:21 +0200
Subject: drop support for Python 2.x

---
 wsgitools/scgi/__init__.py     |  4 +---
 wsgitools/scgi/asynchronous.py |  9 +--------
 wsgitools/scgi/forkpool.py     | 22 +++++-----------------
 3 files changed, 7 insertions(+), 28 deletions(-)

(limited to 'wsgitools/scgi')

diff --git a/wsgitools/scgi/__init__.py b/wsgitools/scgi/__init__.py
index f651264..e2a68c2 100644
--- a/wsgitools/scgi/__init__.py
+++ b/wsgitools/scgi/__init__.py
@@ -7,7 +7,7 @@ except ImportError:
 else:
     have_sendfile = True
 
-class FileWrapper(object):
+class FileWrapper:
     """
     @ivar offset: Initially 0. Becomes -1 when reading using next and 
         becomes positive when reading using next. In the latter case it
@@ -52,8 +52,6 @@ class FileWrapper(object):
         if data:
             return data
         raise StopIteration
-    def next(self):
-        return self.__next__()
 
 def _convert_environ(environ, multithread=False, multiprocess=False,
         run_once=False):
diff --git a/wsgitools/scgi/asynchronous.py b/wsgitools/scgi/asynchronous.py
index 0b014bf..61bbc6b 100644
--- a/wsgitools/scgi/asynchronous.py
+++ b/wsgitools/scgi/asynchronous.py
@@ -9,13 +9,6 @@ import errno
 from wsgitools.internal import bytes2str, str2bytes
 from wsgitools.scgi import _convert_environ, FileWrapper
 
-if sys.version_info[0] >= 3:
-    def exc_info_for_raise(exc_info):
-        return exc_info[1].with_traceback(exc_info[2])
-else:
-    def exc_info_for_raise(exc_info):
-        return exc_info[0], exc_info[1], exc_info[2]
-
 class SCGIConnection(asyncore.dispatcher):
     """SCGI connection class used by L{SCGIServer}."""
     # connection states
@@ -147,7 +140,7 @@ class SCGIConnection(asyncore.dispatcher):
         if exc_info:
             if self.outheaders == True:
                 try:
-                    raise exc_info_for_raise(exc_info)
+                    raise exc_info[1].with_traceback(exc_info[2])
                 finally:
                     exc_info = None
         assert self.outheaders != True # unsent
diff --git a/wsgitools/scgi/forkpool.py b/wsgitools/scgi/forkpool.py
index 752f0e7..df8a92f 100644
--- a/wsgitools/scgi/forkpool.py
+++ b/wsgitools/scgi/forkpool.py
@@ -5,10 +5,7 @@ It works with multiple processes that are periodically cleaned up to prevent
 memory leaks having an impact to the system.
 """
 
-try:
-    import resource
-except ImportError:
-    resource = None
+import resource
 import socket
 import os
 import select
@@ -19,16 +16,9 @@ import signal
 from wsgitools.internal import bytes2str, str2bytes
 from wsgitools.scgi import _convert_environ, FileWrapper
 
-if sys.version_info[0] >= 3:
-    def exc_info_for_raise(exc_info):
-        return exc_info[1].with_traceback(exc_info[2])
-else:
-    def exc_info_for_raise(exc_info):
-        return exc_info[0], exc_info[1], exc_info[2]
-
 __all__ = []
 
-class SocketFileWrapper(object):
+class SocketFileWrapper:
     """Wraps a socket to a wsgi-compliant file-like object."""
     def __init__(self, sock, toread):
         """@param sock: is a C{socket.socket()}"""
@@ -149,8 +139,6 @@ class SocketFileWrapper(object):
         if not data:
             raise StopIteration
         return data
-    def next(self):
-        return self.__next__()
     def flush(self):
         """see pep333"""
     def write(self, data):
@@ -167,10 +155,10 @@ class SocketFileWrapper(object):
             self.write(line)
 
 __all__.append("SCGIServer")
-class SCGIServer(object):
+class SCGIServer:
     """Usage: create an L{SCGIServer} object and invoke the run method which
     will then turn this process into an scgi server."""
-    class WorkerState(object):
+    class WorkerState:
         """state: 0 means idle and 1 means working.
         These values are also sent as strings '0' and '1' over the socket."""
         def __init__(self, pid, sock, state):
@@ -472,7 +460,7 @@ class SCGIServer(object):
         def start_response(status, headers, exc_info=None):
             if exc_info and response_head[0]:
                 try:
-                    raise exc_info_for_raise(exc_info)
+                    raise exc_info[1].with_traceback(exc_info[2])
                 finally:
                     exc_info = None
             assert isinstance(status, str)
-- 
cgit v1.2.3