Thrift-1604:Python exxception handeling for changes from PEP3110
authorJake Farrell <jfarrell@apache.org>
Fri, 18 May 2012 01:00:39 +0000 (01:00 +0000)
committerJake Farrell <jfarrell@apache.org>
Fri, 18 May 2012 01:00:39 +0000 (01:00 +0000)
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

compiler/cpp/src/generate/t_py_generator.cc
lib/py/src/server/THttpServer.py
lib/py/src/server/TProcessPoolServer.py
lib/py/src/server/TServer.py
lib/py/src/transport/TSSLSocket.py

index 8d07a13..08f2e68 100644 (file)
@@ -1792,7 +1792,7 @@ void t_py_generator::generate_process_function(t_service* tservice,
         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 @@ void t_py_generator::generate_process_function(t_service* tservice,
       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_ <<
index be54bab..6f92173 100644 (file)
@@ -73,7 +73,7 @@ class THttpServer(TServer.TServer):
         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)
index 7a695a8..86c4312 100644 (file)
@@ -59,7 +59,7 @@ class TProcessPoolServer(TServer):
                 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 @@ class TProcessPoolServer(TServer):
                 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 @@ class TProcessPoolServer(TServer):
                 break
             except (SystemExit, KeyboardInterrupt):
                 break
-            except Exception, x:
+            except Exception as x:
                 logging.exception(x)
 
         self.isRunning.value = False
index 2f24842..97097cc 100644 (file)
@@ -84,7 +84,7 @@ class TSimpleServer(TServer):
           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 @@ class TThreadedServer(TServer):
         t.start()
       except KeyboardInterrupt:
         raise
-      except Exception, x:
+      except Exception as x:
         logging.exception(x)
 
   def handle(self, client):
@@ -121,7 +121,7 @@ class TThreadedServer(TServer):
         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 @@ class TThreadPoolServer(TServer):
         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 @@ class TThreadPoolServer(TServer):
         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 @@ class TThreadPoolServer(TServer):
       try:
         client = self.serverTransport.accept()
         self.clients.put(client)
-      except Exception, x:
+      except Exception as x:
         logging.exception(x)
 
 
@@ -208,7 +208,7 @@ class TForkingServer(TServer):
     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 @@ class TForkingServer(TServer):
                 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 @@ class TForkingServer(TServer):
 
       except TTransport.TTransportException, tx:
         pass
-      except Exception, x:
+      except Exception as x:
         logging.exception(x)
 
   def collect_children(self):
index 6d79ac6..e0ff4f9 100644 (file)
@@ -86,13 +86,13 @@ class TSSLSocket(TSocket.TSocket):
         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 @@ class TSSLServerSocket(TSocket.TServerSocket):
     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