summaryrefslogtreecommitdiffstats
path: root/module/lib/thrift/protocol/TBase.py
diff options
context:
space:
mode:
Diffstat (limited to 'module/lib/thrift/protocol/TBase.py')
-rw-r--r--module/lib/thrift/protocol/TBase.py226
1 files changed, 0 insertions, 226 deletions
diff --git a/module/lib/thrift/protocol/TBase.py b/module/lib/thrift/protocol/TBase.py
index dfe0d79ce..e675c7dc0 100644
--- a/module/lib/thrift/protocol/TBase.py
+++ b/module/lib/thrift/protocol/TBase.py
@@ -69,230 +69,4 @@ class TExceptionBase(Exception):
__ne__ = TBase.__ne__.im_func
read = TBase.read.im_func
write = TBase.write.im_func
-
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-from thrift.Thrift import *
-from thrift.protocol import TBinaryProtocol
-from thrift.transport import TTransport
-
-try:
- from thrift.protocol import fastbinary
-except:
- fastbinary = None
-
-def read(iprot, types, ftype, spec):
- try:
- return types[ftype][0]()
- except KeyError:
- if ftype == TType.LIST:
- ltype, lsize = iprot.readListBegin()
-
- value = [read(iprot, types, spec[0], spec[1]) for i in range(lsize)]
-
- iprot.readListEnd()
- return value
-
- elif ftype == TType.SET:
- ltype, lsize = iprot.readSetBegin()
-
- value = set([read(iprot, types, spec[0], spec[1]) for i in range(lsize)])
-
- iprot.readSetEnd()
- return value
-
- elif ftype == TType.MAP:
- key_type, key_spec = spec[0], spec[1]
- val_type, val_spec = spec[2], spec[3]
-
- ktype, vtype, mlen = iprot.readMapBegin()
- res = dict()
-
- for i in xrange(mlen):
- key = read(iprot, types, key_type, key_spec)
- res[key] = read(iprot, types, val_type, val_spec)
-
- iprot.readMapEnd()
- return res
-
- elif ftype == TType.STRUCT:
- return spec[0]().read(iprot)
-
-
-
-
-def write(oprot, types, ftype, spec, value):
- try:
- types[ftype][1](value)
- except KeyError:
- if ftype == TType.LIST:
- oprot.writeListBegin(spec[0], len(value))
-
- for elem in value:
- write(oprot, types, spec[0], spec[1], elem)
-
- oprot.writeListEnd()
- elif ftype == TType.SET:
- oprot.writeSetBegin(spec[0], len(value))
-
- for elem in value:
- write(oprot, types, spec[0], spec[1], elem)
-
- oprot.writeSetEnd()
- elif ftype == TType.MAP:
- key_type, key_spec = spec[0], spec[1]
- val_type, val_spec = spec[2], spec[3]
-
- oprot.writeMapBegin(key_type, val_type, len(value))
- for key, val in value.iteritems():
- write(oprot, types, key_type, key_spec, key)
- write(oprot, types, val_type, val_spec, val)
-
- oprot.writeMapEnd()
- elif ftype == TType.STRUCT:
- value.write(oprot)
-
-
-class TBase2(object):
- __slots__ = ("thrift_spec")
-
- #subclasses provides this information
- thrift_spec = ()
-
- def __repr__(self):
- L = ['%s=%r' % (key, getattr(self, key))
- for key in self.__slots__ ]
- return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
-
- def __eq__(self, other):
- if not isinstance(other, self.__class__):
- return False
- for attr in self.__slots__:
- my_val = getattr(self, attr)
- other_val = getattr(other, attr)
- if my_val != other_val:
- return False
- return True
-
- def __ne__(self, other):
- return not (self == other)
-
- def read(self, iprot):
- if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
- fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
- return
-
- #local copies for faster access
- thrift_spec = self.thrift_spec
- setter = self.__setattr__
-
- iprot.readStructBegin()
- while True:
- (fname, ftype, fid) = iprot.readFieldBegin()
- if ftype == TType.STOP:
- break
-
- try:
- specs = thrift_spec[fid]
- if not specs or specs[1] != ftype:
- iprot.skip(ftype)
-
- else:
- pos, etype, ename, espec, unk = specs
- value = read(iprot, iprot.primTypes, etype, espec)
- setter(ename, value)
-
- except IndexError:
- iprot.skip()
-
- iprot.readFieldEnd()
-
- iprot.readStructEnd()
-
- def write(self, oprot):
- if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
- oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
- return
-
- #local copies for faster access
- oprot.writeStructBegin(self.__class__.__name__)
- getter = self.__getattribute__
-
- for spec in self.thrift_spec:
- if spec is None: continue
- # element attributes
- pos, etype, ename, espec, unk = spec
- value = getter(ename)
- if value is None: continue
-
- oprot.writeFieldBegin(ename, etype, pos)
- write(oprot, oprot.primTypes, etype, espec, value)
- oprot.writeFieldEnd()
-
- oprot.writeFieldStop()
- oprot.writeStructEnd()
-
-class TBase(object):
- __slots__ = ('thrift_spec',)
-
- #provides by subclasses
- thrift_spec = ()
-
- def __repr__(self):
- L = ['%s=%r' % (key, getattr(self, key))
- for key in self.__slots__ ]
- return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
-
- def __eq__(self, other):
- if not isinstance(other, self.__class__):
- return False
- for attr in self.__slots__:
- my_val = getattr(self, attr)
- other_val = getattr(other, attr)
- if my_val != other_val:
- return False
- return True
-
- def __ne__(self, other):
- return not (self == other)
- def read(self, iprot):
- if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
- fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
- return
- iprot.readStruct(self, self.thrift_spec)
-
- def write(self, oprot):
- if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
- oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
- return
- oprot.writeStruct(self, self.thrift_spec)
-
-class TExceptionBase(Exception):
- # old style class so python2.4 can raise exceptions derived from this
- # This can't inherit from TBase because of that limitation.
- __slots__ = []
-
- __repr__ = TBase.__repr__.im_func
- __eq__ = TBase.__eq__.im_func
- __ne__ = TBase.__ne__.im_func
- read = TBase.read.im_func
- write = TBase.write.im_func
-