There is an issue with the patch in it's current state. If you make any program that references TCLIService.py or ttypes.py (i.e. a HiveServer2 python Thrift client), it will attempt to import the Thrift python bindings from your Thrift install as follows (first code line in the generated ttypes.py file):
from thrift.Thrift import *
In Thrift.py (as of version 0.7 through tip) there is a TType object defined. This protocol defines a second TType object, and the two get confused. The error that occurs when running the python program is:
File "/home/mydir/hive/build/dist/lib/py/hive_service/ttypes.py", line 352, in TPrimitiveTypeEntry
(1, TType.I32, 'type', None, None, ), # 1
AttributeError: class TType has no attribute 'I32'
This occurs because the python interpreter, when importing modules, ignores those that have already been imported and it thinks TType has already been imported. It then attempts to reference the local TType class, which has no I32 attribute. Changing the name of TType to TValueType in hive_service.thrift or something else that is more distinctly named solves this problem.