THRIFT-5923: UUID python
Client: py
Patch: CJCombrink

This closes #3330
diff --git a/lib/py/src/protocol/TBinaryProtocol.py b/lib/py/src/protocol/TBinaryProtocol.py
index af64ec1..b73e3c9 100644
--- a/lib/py/src/protocol/TBinaryProtocol.py
+++ b/lib/py/src/protocol/TBinaryProtocol.py
@@ -18,6 +18,7 @@
 #
 
 from struct import pack, unpack
+import uuid
 
 from .TProtocol import TType, TProtocolBase, TProtocolException, TProtocolFactory
 
@@ -131,6 +132,9 @@
         self.writeI32(len(str))
         self.trans.write(str)
 
+    def writeUuid(self, uuid):
+        self.trans.write(uuid.bytes)
+
     def readMessageBegin(self):
         sz = self.readI32()
         if sz < 0:
@@ -235,6 +239,11 @@
         s = self.trans.readAll(size)
         return s
 
+    def readUuid(self):
+        buff = self.trans.readAll(16)
+        val = uuid.UUID(bytes=buff)
+        return val
+
 
 class TBinaryProtocolFactory(TProtocolFactory):
     def __init__(self, strictRead=False, strictWrite=True, **kwargs):