Thrift-1604:Python exxception handeling for changes from PEP3110
Client: py
Patch: Jake Farrell
Python PEP 3110 changed exception handling by replacing the ',' with 'as'. This was initially introduced in python 2.6 and in 3.0 the ',' usage is no longer suppported. Since exception handling through out the py lib uses the ',' it will need to be converted over to using the 'as' syntax for exceptions
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1339941 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/compiler/cpp/src/generate/t_py_generator.cc b/compiler/cpp/src/generate/t_py_generator.cc
index 8d07a13..08f2e68 100644
--- a/compiler/cpp/src/generate/t_py_generator.cc
+++ b/compiler/cpp/src/generate/t_py_generator.cc
@@ -1792,7 +1792,7 @@
indent() << " error.raiseException()" << endl;
for (x_iter = xceptions.begin(); x_iter != xceptions.end(); ++x_iter) {
f_service_ <<
- indent() << "except " << type_name((*x_iter)->get_type()) << ", " << (*x_iter)->get_name() << ":" << endl;
+ indent() << "except " << type_name((*x_iter)->get_type()) << " as " << (*x_iter)->get_name() << ":" << endl;
if (!tfunction->is_oneway()) {
indent_up();
f_service_ <<
@@ -1847,7 +1847,7 @@
indent_down();
for (x_iter = xceptions.begin(); x_iter != xceptions.end(); ++x_iter) {
f_service_ <<
- indent() << "except " << type_name((*x_iter)->get_type()) << ", " << (*x_iter)->get_name() << ":" << endl;
+ indent() << "except " << type_name((*x_iter)->get_type()) << " as " << (*x_iter)->get_name() << ":" << endl;
if (!tfunction->is_oneway()) {
indent_up();
f_service_ <<
diff --git a/lib/py/src/server/THttpServer.py b/lib/py/src/server/THttpServer.py
index be54bab..6f92173 100644
--- a/lib/py/src/server/THttpServer.py
+++ b/lib/py/src/server/THttpServer.py
@@ -73,7 +73,7 @@
oprot = thttpserver.outputProtocolFactory.getProtocol(otrans)
try:
thttpserver.processor.process(iprot, oprot)
- except ResponseException, exn:
+ except ResponseException as exn:
exn.handler(self)
else:
self.send_response(200)
diff --git a/lib/py/src/server/TProcessPoolServer.py b/lib/py/src/server/TProcessPoolServer.py
index 7a695a8..86c4312 100644
--- a/lib/py/src/server/TProcessPoolServer.py
+++ b/lib/py/src/server/TProcessPoolServer.py
@@ -59,7 +59,7 @@
self.serveClient(client)
except (KeyboardInterrupt, SystemExit):
return 0
- except Exception, x:
+ except Exception as x:
logging.exception(x)
def serveClient(self, client):
@@ -74,7 +74,7 @@
self.processor.process(iprot, oprot)
except TTransportException, tx:
pass
- except Exception, x:
+ except Exception as x:
logging.exception(x)
itrans.close()
@@ -106,7 +106,7 @@
break
except (SystemExit, KeyboardInterrupt):
break
- except Exception, x:
+ except Exception as x:
logging.exception(x)
self.isRunning.value = False
diff --git a/lib/py/src/server/TServer.py b/lib/py/src/server/TServer.py
index 2f24842..97097cc 100644
--- a/lib/py/src/server/TServer.py
+++ b/lib/py/src/server/TServer.py
@@ -84,7 +84,7 @@
self.processor.process(iprot, oprot)
except TTransport.TTransportException, tx:
pass
- except Exception, x:
+ except Exception as x:
logging.exception(x)
itrans.close()
@@ -108,7 +108,7 @@
t.start()
except KeyboardInterrupt:
raise
- except Exception, x:
+ except Exception as x:
logging.exception(x)
def handle(self, client):
@@ -121,7 +121,7 @@
self.processor.process(iprot, oprot)
except TTransport.TTransportException, tx:
pass
- except Exception, x:
+ except Exception as x:
logging.exception(x)
itrans.close()
@@ -161,7 +161,7 @@
self.processor.process(iprot, oprot)
except TTransport.TTransportException, tx:
pass
- except Exception, x:
+ except Exception as x:
logging.exception(x)
itrans.close()
@@ -174,7 +174,7 @@
t = threading.Thread(target=self.serveThread)
t.setDaemon(self.daemon)
t.start()
- except Exception, x:
+ except Exception as x:
logging.exception(x)
# Pump the socket for clients
@@ -183,7 +183,7 @@
try:
client = self.serverTransport.accept()
self.clients.put(client)
- except Exception, x:
+ except Exception as x:
logging.exception(x)
@@ -208,7 +208,7 @@
def try_close(file):
try:
file.close()
- except IOError, e:
+ except IOError as e:
logging.warning(e, exc_info=True)
self.serverTransport.listen()
@@ -242,7 +242,7 @@
self.processor.process(iprot, oprot)
except TTransport.TTransportException, tx:
pass
- except Exception, e:
+ except Exception as e:
logging.exception(e)
ecode = 1
finally:
@@ -253,7 +253,7 @@
except TTransport.TTransportException, tx:
pass
- except Exception, x:
+ except Exception as x:
logging.exception(x)
def collect_children(self):
diff --git a/lib/py/src/transport/TSSLSocket.py b/lib/py/src/transport/TSSLSocket.py
index 6d79ac6..e0ff4f9 100644
--- a/lib/py/src/transport/TSSLSocket.py
+++ b/lib/py/src/transport/TSSLSocket.py
@@ -86,13 +86,13 @@
self.handle.settimeout(self._timeout)
try:
self.handle.connect(ip_port)
- except socket.error, e:
+ except socket.error as e:
if res is not res0[-1]:
continue
else:
raise e
break
- except socket.error, e:
+ except socket.error as e:
if self._unix_socket:
message = 'Could not connect to secure socket %s' % self._unix_socket
else:
@@ -188,7 +188,7 @@
try:
client = ssl.wrap_socket(plain_client, certfile=self.certfile,
server_side=True, ssl_version=self.SSL_VERSION)
- except ssl.SSLError, ssl_exc:
+ except ssl.SSLError as ssl_exc:
# failed handshake/ssl wrap, close socket to client
plain_client.close()
# raise ssl_exc