summaryrefslogtreecommitdiffstats
path: root/pyload/remote/thriftbackend/ThriftClient.py
diff options
context:
space:
mode:
Diffstat (limited to 'pyload/remote/thriftbackend/ThriftClient.py')
-rw-r--r--pyload/remote/thriftbackend/ThriftClient.py91
1 files changed, 0 insertions, 91 deletions
diff --git a/pyload/remote/thriftbackend/ThriftClient.py b/pyload/remote/thriftbackend/ThriftClient.py
deleted file mode 100644
index 7c2a1cb01..000000000
--- a/pyload/remote/thriftbackend/ThriftClient.py
+++ /dev/null
@@ -1,91 +0,0 @@
-# -*- coding: utf-8 -*-
-
-import sys
-from socket import error
-from traceback import print_exc
-
-try:
- import thrift
-
-except ImportError:
- import platform
-
- if "64" in platform.machine():
- sys.path.append(os.path.join(pypath, "lib64"))
- sys.path.append(os.path.join(pypath, "lib"))
-
-from thrift.transport import TTransport
-#from thrift.transport.TZlibTransport import TZlibTransport
-from Socket import Socket
-from Protocol import Protocol
-
-# modules should import ttypes from here, when want to avoid importing API
-
-from pyload.remote.thriftbackend.thriftgen.pyload import Pyload
-from pyload.remote.thriftbackend.thriftgen.pyload.ttypes import *
-
-ConnectionClosed = TTransport.TTransportException
-
-class WrongLogin(Exception):
- pass
-
-class NoConnection(Exception):
- pass
-
-class NoSSL(Exception):
- pass
-
-class ThriftClient(object):
- def __init__(self, host="localhost", port=7227, user="", password=""):
-
- self.createConnection(host, port)
- try:
- self.transport.open()
- except error, e:
- if e.args and e.args[0] in (111, 10061):
- raise NoConnection
- else:
- print_exc()
- raise NoConnection
-
- try:
- correct = self.client.login(user, password)
- except error, e:
- if e.args and e.args[0] == 104:
- #connection reset by peer, probably wants ssl
- try:
- self.createConnection(host, port, True)
- #set timeout or a ssl socket will block when querying none ssl server
- self.socket.setTimeout(10)
-
- except ImportError:
- #@TODO untested
- raise NoSSL
- try:
- self.transport.open()
- correct = self.client.login(user, password)
- finally:
- self.socket.setTimeout(None)
- elif e.args and e.args[0] == 32:
- raise NoConnection
- else:
- print_exc()
- raise NoConnection
-
- if not correct:
- self.transport.close()
- raise WrongLogin
-
- def createConnection(self, host, port, ssl=False):
- self.socket = Socket(host, port, ssl)
- self.transport = TTransport.TBufferedTransport(self.socket)
-# self.transport = TZlibTransport(TTransport.TBufferedTransport(self.socket))
-
- protocol = Protocol(self.transport)
- self.client = Pyload.Client(protocol)
-
- def close(self):
- self.transport.close()
-
- def __getattr__(self, item):
- return getattr(self.client, item)