From 8e7d14bae4d3c836f029a1235eb227380acc3f75 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Mon, 16 Feb 2015 21:59:10 +0100 Subject: Fix plugins to work on 0.4.10 --- pyload/remote/thriftbackend/Protocol.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 pyload/remote/thriftbackend/Protocol.py (limited to 'pyload/remote/thriftbackend/Protocol.py') diff --git a/pyload/remote/thriftbackend/Protocol.py b/pyload/remote/thriftbackend/Protocol.py new file mode 100644 index 000000000..417b45834 --- /dev/null +++ b/pyload/remote/thriftbackend/Protocol.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- + +from thrift.protocol import TBinaryProtocol + +class Protocol(TBinaryProtocol.TBinaryProtocol): + def writeString(self, str): + try: + str = str.encode("utf8", "ignore") + except Exception, e: + pass + + self.writeI32(len(str)) + self.trans.write(str) + + def readString(self): + len = self.readI32() + str = self.trans.readAll(len) + try: + str = str.decode("utf8", "ignore") + except Exception: + pass + + return str + + +class ProtocolFactory(TBinaryProtocol.TBinaryProtocolFactory): + + def getProtocol(self, trans): + prot = Protocol(trans, self.strictRead, self.strictWrite) + return prot -- cgit v1.2.3