Starting python exception handling cleanup

Reviewed By: aditya


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665013 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/py/src/transport/TSocket.py b/lib/py/src/transport/TSocket.py
index c8f9e36..ee429cd 100644
--- a/lib/py/src/transport/TSocket.py
+++ b/lib/py/src/transport/TSocket.py
@@ -22,8 +22,11 @@
       self.handle.settimeout(ms/1000.00)
 
   def open(self):
-    self.handle = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-    self.handle.connect((self.host, self.port))
+    try:
+      self.handle = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+      self.handle.connect((self.host, self.port))
+    except socket.error, e:
+      raise TTransportException(TTransportException.NOT_OPEN, e.message)
 
   def close(self):
     if self.handle != None:
@@ -42,7 +45,7 @@
     while sent < have:
       plus = self.handle.send(buff)
       if plus == 0:
-        raise TTransportException('sent 0 bytes')
+        raise TTransportException('TSocket sent 0 bytes')
       sent += plus
       buff = buff[plus:]
 
diff --git a/lib/py/src/transport/TTransport.py b/lib/py/src/transport/TTransport.py
index 502b327..b8ca7b1 100644
--- a/lib/py/src/transport/TTransport.py
+++ b/lib/py/src/transport/TTransport.py
@@ -1,11 +1,20 @@
 from cStringIO import StringIO
 from struct import pack,unpack
+from thrift.Thrift import TException
 
-class TTransportException(Exception):
+class TTransportException(TException):
 
   """Custom Transport Exception class"""
 
-  pass
+  UNKNOWN = 0,
+  NOT_OPEN = 1,
+  ALREADY_OPEN = 2,
+  TIMED_OUT = 3,
+  END_OF_FILE = 4,
+
+  def __init__(self, type=UNKNOWN, message=None):
+    TException.__init__(self, message)
+    self.type = type
 
 class TTransportBase: