Author: dreiss
Date: Sat Jan 31 21:59:27 2009
New Revision: 739637
URL: http://svn.apache.org/viewvc?rev=739637&view=rev
Log:
python: Add TFileObjectTransport
TFileObjectTransport is a Thrift transport that wraps a
Python-style file-like object. This is necessary to add
methods like isOpen and readAll.
Modified:
incubator/thrift/trunk/lib/py/src/transport/TTransport.py
Modified: incubator/thrift/trunk/lib/py/src/transport/TTransport.py
URL:
http://svn.apache.org/viewvc/incubator/thrift/trunk/lib/py/src/transport/TTransport.py?rev=739637&r1=739636&r2=739637&view=diff
==============================================================================
--- incubator/thrift/trunk/lib/py/src/transport/TTransport.py (original)
+++ incubator/thrift/trunk/lib/py/src/transport/TTransport.py Sat Jan 31
21:59:27 2009
@@ -289,3 +289,25 @@
prefix += self.__rbuf.getvalue()
self.__rbuf = StringIO(prefix)
return self.__rbuf
+
+
+class TFileObjectTransport(TTransportBase):
+ """Wraps a file-like object to make it work as a Thrift transport."""
+
+ def __init__(self, fileobj):
+ self.fileobj = fileobj
+
+ def isOpen(self):
+ return True
+
+ def close(self):
+ self.fileobj.close()
+
+ def read(self, sz):
+ return self.fileobj.read(sz)
+
+ def write(self, buf):
+ self.fileobj.write(buf)
+
+ def flush(self):
+ self.fileobj.flush()