rpc client class is wrong if connection fails
def Client(address, timeout=30., disconnect_callback=None, **kwargs):
client = _cnx(address, disconnect_callback)
class Meta(type):
def __getattribute__(cls, *args):
try:
client.try_connect()
except:
# in case of isinstance and
# not connected don't know the type
if args[0] == "__class__":
return type(object) # this is bad!
Because of that is instance(lima, CT2Controller) returns True if connection to CT2 fails!