Skip to content

Commit 4f77665

Browse files
committed
Python 3.3+: replace deprecated aliases
since 3.3: EnvironmentError, IOError, socket.error and select.error are merged into IOError. They may now return a more specific subclass - which this commit does not utilize yet.
1 parent ec85b32 commit 4f77665

File tree

10 files changed

+29
-29
lines changed

10 files changed

+29
-29
lines changed

examples/when_ready.conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ def __init__(self, server, max_mem):
1717
def memory_usage(self, pid):
1818
try:
1919
out = commands.getoutput("ps -o rss -p %s" % pid)
20-
except IOError:
20+
except OSError:
2121
return -1
2222
used_mem = sum(int(x) for x in out.split('\n')[1:])
2323
return used_mem

gunicorn/arbiter.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,7 @@ def wakeup(self):
332332
"""
333333
try:
334334
os.write(self.PIPE[1], b'.')
335-
except IOError as e:
335+
except OSError as e:
336336
if e.errno not in [errno.EAGAIN, errno.EINTR]:
337337
raise
338338

@@ -361,7 +361,7 @@ def sleep(self):
361361
return
362362
while os.read(self.PIPE[0], 1):
363363
pass
364-
except (select.error, OSError) as e:
364+
except OSError as e:
365365
# TODO: select.error is a subclass of OSError since Python 3.3.
366366
error_number = getattr(e, 'errno', e.args[0])
367367
if error_number not in [errno.EAGAIN, errno.EINTR]:

gunicorn/debug.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ def __call__(self, frame, event, arg):
3636
try:
3737
src = inspect.getsourcelines(frame)
3838
line = src[lineno]
39-
except IOError:
39+
except OSError:
4040
line = 'Unknown code named [%s]. VM instruction #%d' % (
4141
frame.f_code.co_name, frame.f_lasti)
4242
if self.trace_names is None or name in self.trace_names:

gunicorn/http/message.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -372,13 +372,13 @@ def parse_proxy_protocol(self, line):
372372
try:
373373
socket.inet_pton(socket.AF_INET, s_addr)
374374
socket.inet_pton(socket.AF_INET, d_addr)
375-
except socket.error:
375+
except OSError:
376376
raise InvalidProxyLine(line)
377377
elif proto == "TCP6":
378378
try:
379379
socket.inet_pton(socket.AF_INET6, s_addr)
380380
socket.inet_pton(socket.AF_INET6, d_addr)
381-
except socket.error:
381+
except OSError:
382382
raise InvalidProxyLine(line)
383383

384384
try:

gunicorn/pidfile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ def validate(self):
7979
if e.args[0] == errno.ESRCH:
8080
return
8181
raise
82-
except IOError as e:
82+
except OSError as e:
8383
if e.args[0] == errno.ENOENT:
8484
return
8585
raise

gunicorn/sock.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ def set_options(self, sock, bound=False):
4242
and hasattr(socket, 'SO_REUSEPORT')): # pragma: no cover
4343
try:
4444
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
45-
except socket.error as err:
45+
except OSError as err:
4646
if err.errno not in (errno.ENOPROTOOPT, errno.EINVAL):
4747
raise
4848
if not bound:
@@ -65,7 +65,7 @@ def close(self):
6565

6666
try:
6767
self.sock.close()
68-
except socket.error as e:
68+
except OSError as e:
6969
self.log.info("Error while closing socket %s", str(e))
7070

7171
self.sock = None
@@ -182,7 +182,7 @@ def create_sockets(conf, log, fds=None):
182182
for i in range(5):
183183
try:
184184
sock = sock_type(addr, conf, log)
185-
except socket.error as e:
185+
except OSError as e:
186186
if e.args[0] == errno.EADDRINUSE:
187187
log.error("Connection in use: %s", str(addr))
188188
if e.args[0] == errno.EADDRNOTAVAIL:

gunicorn/util.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ def unlink(filename):
216216
def is_ipv6(addr):
217217
try:
218218
socket.inet_pton(socket.AF_INET6, addr)
219-
except socket.error: # not a valid address
219+
except OSError: # not a valid address
220220
return False
221221
except ValueError: # ipv6 not supported on this platform
222222
return False
@@ -268,7 +268,7 @@ def set_non_blocking(fd):
268268
def close(sock):
269269
try:
270270
sock.close()
271-
except socket.error:
271+
except OSError:
272272
pass
273273

274274

@@ -565,7 +565,7 @@ def check_is_writable(path):
565565
try:
566566
with open(path, 'a') as f:
567567
f.close()
568-
except IOError as e:
568+
except OSError as e:
569569
raise RuntimeError("Error: '%s' isn't writable [%r]" % (path, e))
570570

571571

@@ -586,7 +586,7 @@ def has_fileno(obj):
586586
# check BytesIO case and maybe others
587587
try:
588588
obj.fileno()
589-
except (AttributeError, IOError, io.UnsupportedOperation):
589+
except (AttributeError, OSError, io.UnsupportedOperation):
590590
return False
591591

592592
return True

gunicorn/workers/base_async.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ def handle(self, listener, client, addr):
5959
except ssl.SSLError:
6060
# pass to next try-except level
6161
util.reraise(*sys.exc_info())
62-
except EnvironmentError:
62+
except OSError:
6363
# pass to next try-except level
6464
util.reraise(*sys.exc_info())
6565
except Exception as e:
@@ -71,7 +71,7 @@ def handle(self, listener, client, addr):
7171
else:
7272
self.log.debug("Error processing SSL request.")
7373
self.handle_error(req, client, addr, e)
74-
except EnvironmentError as e:
74+
except OSError as e:
7575
if e.errno not in (errno.EPIPE, errno.ECONNRESET, errno.ENOTCONN):
7676
self.log.exception("Socket error processing request.")
7777
else:
@@ -123,7 +123,7 @@ def handle_request(self, listener_name, req, sock, addr):
123123
raise StopIteration()
124124
except StopIteration:
125125
raise
126-
except EnvironmentError:
126+
except OSError:
127127
# If the original exception was a socket.error we delegate
128128
# handling it to the caller (where handle() might ignore it)
129129
util.reraise(*sys.exc_info())
@@ -135,7 +135,7 @@ def handle_request(self, listener_name, req, sock, addr):
135135
try:
136136
sock.shutdown(socket.SHUT_RDWR)
137137
sock.close()
138-
except EnvironmentError:
138+
except OSError:
139139
pass
140140
raise StopIteration()
141141
raise

gunicorn/workers/gthread.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ def accept(self, server, listener):
127127
with self._lock:
128128
self.poller.register(conn.sock, selectors.EVENT_READ,
129129
partial(self.on_client_socket_readable, conn))
130-
except EnvironmentError as e:
130+
except OSError as e:
131131
if e.errno not in (errno.EAGAIN, errno.ECONNABORTED,
132132
errno.EWOULDBLOCK):
133133
raise
@@ -170,7 +170,7 @@ def murder_keepalived(self):
170170
with self._lock:
171171
try:
172172
self.poller.unregister(conn.sock)
173-
except EnvironmentError as e:
173+
except OSError as e:
174174
if e.errno != errno.EBADF:
175175
raise
176176
except KeyError:
@@ -294,7 +294,7 @@ def handle(self, conn):
294294
self.log.debug("Error processing SSL request.")
295295
self.handle_error(req, conn.sock, conn.client, e)
296296

297-
except EnvironmentError as e:
297+
except OSError as e:
298298
if e.errno not in (errno.EPIPE, errno.ECONNRESET, errno.ENOTCONN):
299299
self.log.exception("Socket error processing request.")
300300
else:
@@ -348,7 +348,7 @@ def handle_request(self, req, conn):
348348
if resp.should_close():
349349
self.log.debug("Closing connection.")
350350
return False
351-
except EnvironmentError:
351+
except OSError:
352352
# pass to next try-except level
353353
util.reraise(*sys.exc_info())
354354
except Exception:
@@ -359,7 +359,7 @@ def handle_request(self, req, conn):
359359
try:
360360
conn.sock.shutdown(socket.SHUT_RDWR)
361361
conn.sock.close()
362-
except EnvironmentError:
362+
except OSError:
363363
pass
364364
raise StopIteration()
365365
raise

gunicorn/workers/sync.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ def wait(self, timeout):
3939
os.read(self.PIPE[0], 1)
4040
return ret[0]
4141

42-
except select.error as e:
42+
except OSError as e:
4343
if e.args[0] == errno.EINTR:
4444
return self.sockets
4545
if e.args[0] == errno.EBADF:
@@ -72,7 +72,7 @@ def run_for_one(self, timeout):
7272
# process.
7373
continue
7474

75-
except EnvironmentError as e:
75+
except OSError as e:
7676
if e.errno not in (errno.EAGAIN, errno.ECONNABORTED,
7777
errno.EWOULDBLOCK):
7878
raise
@@ -101,7 +101,7 @@ def run_for_multiple(self, timeout):
101101

102102
try:
103103
self.accept(listener)
104-
except EnvironmentError as e:
104+
except OSError as e:
105105
if e.errno not in (errno.EAGAIN, errno.ECONNABORTED,
106106
errno.EWOULDBLOCK):
107107
raise
@@ -143,7 +143,7 @@ def handle(self, listener, client, addr):
143143
else:
144144
self.log.debug("Error processing SSL request.")
145145
self.handle_error(req, client, addr, e)
146-
except EnvironmentError as e:
146+
except OSError as e:
147147
if e.errno not in (errno.EPIPE, errno.ECONNRESET, errno.ENOTCONN):
148148
self.log.exception("Socket error processing request.")
149149
else:
@@ -187,7 +187,7 @@ def handle_request(self, listener, req, client, addr):
187187
self.log.access(resp, req, environ, request_time)
188188
if hasattr(respiter, "close"):
189189
respiter.close()
190-
except EnvironmentError:
190+
except OSError:
191191
# pass to next try-except level
192192
util.reraise(*sys.exc_info())
193193
except Exception:
@@ -198,7 +198,7 @@ def handle_request(self, listener, req, client, addr):
198198
try:
199199
client.shutdown(socket.SHUT_RDWR)
200200
client.close()
201-
except EnvironmentError:
201+
except OSError:
202202
pass
203203
raise StopIteration()
204204
raise

0 commit comments

Comments
 (0)