#!/usr/bin/env python
#
# Autogenerated by Thrift Compiler (0.10.0)
#
# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
#
#  options string: py
#

import sys
import pprint
if sys.version_info[0] > 2:
    from urllib.parse import urlparse
else:
    from urlparse import urlparse
from thrift.transport import TTransport, TSocket, TSSLSocket, THttpClient
from thrift.protocol.TBinaryProtocol import TBinaryProtocol

from cacheApi import CacheAPI
from cacheApi.ttypes import *

if len(sys.argv) <= 1 or sys.argv[1] == '--help':
    print('')
    print('Usage: ' + sys.argv[0] + ' [-h host[:port]] [-u url] [-f[ramed]] [-s[sl]] [-novalidate] [-ca_certs certs] [-keyfile keyfile] [-certfile certfile] function [arg1 [arg2...]]')
    print('')
    print('Functions:')
    print('  ResponseInfo quireBusinessInfo(RequestInfo requestInfo)')
    print('  ResponseInfo quireIpInfo(RequestInfo requestInfo)')
    print('  ResponseInfo quireProcInfo(RequestInfo requestInfo)')
    print('  ResponseInfo quireSystem(RequestInfo requestInfo)')
    print('  ResponseInfo quireCpu(RequestInfo requestInfo)')
    print('  ResponseInfo quireMem(RequestInfo requestInfo)')
    print('  ResponseInfo quireNet(RequestInfo requestInfo)')
    print('  ResponseInfo quireDisk(RequestInfo requestInfo)')
    print('  ResponseInfo quireDiskUsed(RequestInfo requestInfo)')
    print('  ResponseInfo quireProcess(RequestInfo requestInfo)')
    print('  ResponseInfo quireLocalInfo(RequestInfo requestInfo)')
    print('  ResponseInfo quireArch(RequestInfo requestInfo)')
    print('  ResponseInfo quireCroud(RequestInfo requestInfo)')
    print('  ResponseInfo quireIpTable(RequestInfo requestInfo)')
    print('  ResponseInfo quireAlarm(RequestInfo requestInfo)')
    print('  ResponseInfo quireAllProc(RequestInfo requestInfo)')
    print('  ResponseInfo quireAllPort(RequestInfo requestInfo)')
    print('  ResponseInfo quireMultiInfos(RequestInfo requestInfo)')
    print('  ResponseInfo quireHistoryCpu(CacheHistoryInfo requestInfo)')
    print('  ResponseInfo quireHistoryMem(CacheHistoryInfo requestInfo)')
    print('  ResponseInfo quireHistoryNet(CacheHistoryInfo requestInfo)')
    print('  ResponseInfo quireHistoryDisk(CacheHistoryInfo requestInfo)')
    print('  ResponseInfo quireHistoryDiskUsed(CacheHistoryInfo requestInfo)')
    print('  ResponseInfo quireHistoryProcess(CacheHistoryInfo requestInfo)')
    print('  ResponseInfo quireHistoryLocalInfo(CacheHistoryInfo requestInfo)')
    print('  ResponseInfo quireHistoryArch(CacheHistoryInfo requestInfo)')
    print('  ResponseInfo quireHistoryCroud(CacheHistoryInfo requestInfo)')
    print('  ResponseInfo quireHistoryIpTable(CacheHistoryInfo requestInfo)')
    print('  ResponseInfo quireHistoryAlarm(CacheHistoryInfo requestInfo)')
    print('  ResponseInfo quireHistoryAllProc(CacheHistoryInfo requestInfo)')
    print('  ResponseInfo quireHistoryAllPort(CacheHistoryInfo requestInfo)')
    print('  LostAgentResponse quireLostAgentInfo(LostAgentInfo requestInfo)')
    print('  AgentStatusResponse quireAgentStatus(AgentStatusRequestInfo requestInfo)')
    print('  MultiResponse quireAllIp()')
    print('  MultiResponse quireMultiIp(MultipleBzIdIp requestInfo)')
    print('  MultiResponse flushAgentInfo(FlushAgentInfo requestInfo)')
    print('  agent_status_response get_agent_status(agent_status_request request_info)')
    print('  agent_status_response get_agent_info(agent_status_request request_info)')
    print('')
    sys.exit(0)

pp = pprint.PrettyPrinter(indent=2)
host = 'localhost'
port = 9090
uri = ''
framed = False
ssl = False
validate = True
ca_certs = None
keyfile = None
certfile = None
http = False
argi = 1

if sys.argv[argi] == '-h':
    parts = sys.argv[argi + 1].split(':')
    host = parts[0]
    if len(parts) > 1:
        port = int(parts[1])
    argi += 2

if sys.argv[argi] == '-u':
    url = urlparse(sys.argv[argi + 1])
    parts = url[1].split(':')
    host = parts[0]
    if len(parts) > 1:
        port = int(parts[1])
    else:
        port = 80
    uri = url[2]
    if url[4]:
        uri += '?%s' % url[4]
    http = True
    argi += 2

if sys.argv[argi] == '-f' or sys.argv[argi] == '-framed':
    framed = True
    argi += 1

if sys.argv[argi] == '-s' or sys.argv[argi] == '-ssl':
    ssl = True
    argi += 1

if sys.argv[argi] == '-novalidate':
    validate = False
    argi += 1

if sys.argv[argi] == '-ca_certs':
    ca_certs = sys.argv[argi+1]
    argi += 2

if sys.argv[argi] == '-keyfile':
    keyfile = sys.argv[argi+1]
    argi += 2

if sys.argv[argi] == '-certfile':
    certfile = sys.argv[argi+1]
    argi += 2

cmd = sys.argv[argi]
args = sys.argv[argi + 1:]

if http:
    transport = THttpClient.THttpClient(host, port, uri)
else:
    if ssl:
        socket = TSSLSocket.TSSLSocket(host, port, validate=validate, ca_certs=ca_certs, keyfile=keyfile, certfile=certfile)
    else:
        socket = TSocket.TSocket(host, port)
    if framed:
        transport = TTransport.TFramedTransport(socket)
    else:
        transport = TTransport.TBufferedTransport(socket)
protocol = TBinaryProtocol(transport)
client = CacheAPI.Client(protocol)
transport.open()

if cmd == 'quireBusinessInfo':
    if len(args) != 1:
        print('quireBusinessInfo requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireBusinessInfo(eval(args[0]),))

elif cmd == 'quireIpInfo':
    if len(args) != 1:
        print('quireIpInfo requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireIpInfo(eval(args[0]),))

elif cmd == 'quireProcInfo':
    if len(args) != 1:
        print('quireProcInfo requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireProcInfo(eval(args[0]),))

elif cmd == 'quireSystem':
    if len(args) != 1:
        print('quireSystem requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireSystem(eval(args[0]),))

elif cmd == 'quireCpu':
    if len(args) != 1:
        print('quireCpu requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireCpu(eval(args[0]),))

elif cmd == 'quireMem':
    if len(args) != 1:
        print('quireMem requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireMem(eval(args[0]),))

elif cmd == 'quireNet':
    if len(args) != 1:
        print('quireNet requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireNet(eval(args[0]),))

elif cmd == 'quireDisk':
    if len(args) != 1:
        print('quireDisk requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireDisk(eval(args[0]),))

elif cmd == 'quireDiskUsed':
    if len(args) != 1:
        print('quireDiskUsed requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireDiskUsed(eval(args[0]),))

elif cmd == 'quireProcess':
    if len(args) != 1:
        print('quireProcess requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireProcess(eval(args[0]),))

elif cmd == 'quireLocalInfo':
    if len(args) != 1:
        print('quireLocalInfo requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireLocalInfo(eval(args[0]),))

elif cmd == 'quireArch':
    if len(args) != 1:
        print('quireArch requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireArch(eval(args[0]),))

elif cmd == 'quireCroud':
    if len(args) != 1:
        print('quireCroud requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireCroud(eval(args[0]),))

elif cmd == 'quireIpTable':
    if len(args) != 1:
        print('quireIpTable requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireIpTable(eval(args[0]),))

elif cmd == 'quireAlarm':
    if len(args) != 1:
        print('quireAlarm requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireAlarm(eval(args[0]),))

elif cmd == 'quireAllProc':
    if len(args) != 1:
        print('quireAllProc requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireAllProc(eval(args[0]),))

elif cmd == 'quireAllPort':
    if len(args) != 1:
        print('quireAllPort requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireAllPort(eval(args[0]),))

elif cmd == 'quireMultiInfos':
    if len(args) != 1:
        print('quireMultiInfos requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireMultiInfos(eval(args[0]),))

elif cmd == 'quireHistoryCpu':
    if len(args) != 1:
        print('quireHistoryCpu requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireHistoryCpu(eval(args[0]),))

elif cmd == 'quireHistoryMem':
    if len(args) != 1:
        print('quireHistoryMem requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireHistoryMem(eval(args[0]),))

elif cmd == 'quireHistoryNet':
    if len(args) != 1:
        print('quireHistoryNet requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireHistoryNet(eval(args[0]),))

elif cmd == 'quireHistoryDisk':
    if len(args) != 1:
        print('quireHistoryDisk requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireHistoryDisk(eval(args[0]),))

elif cmd == 'quireHistoryDiskUsed':
    if len(args) != 1:
        print('quireHistoryDiskUsed requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireHistoryDiskUsed(eval(args[0]),))

elif cmd == 'quireHistoryProcess':
    if len(args) != 1:
        print('quireHistoryProcess requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireHistoryProcess(eval(args[0]),))

elif cmd == 'quireHistoryLocalInfo':
    if len(args) != 1:
        print('quireHistoryLocalInfo requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireHistoryLocalInfo(eval(args[0]),))

elif cmd == 'quireHistoryArch':
    if len(args) != 1:
        print('quireHistoryArch requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireHistoryArch(eval(args[0]),))

elif cmd == 'quireHistoryCroud':
    if len(args) != 1:
        print('quireHistoryCroud requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireHistoryCroud(eval(args[0]),))

elif cmd == 'quireHistoryIpTable':
    if len(args) != 1:
        print('quireHistoryIpTable requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireHistoryIpTable(eval(args[0]),))

elif cmd == 'quireHistoryAlarm':
    if len(args) != 1:
        print('quireHistoryAlarm requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireHistoryAlarm(eval(args[0]),))

elif cmd == 'quireHistoryAllProc':
    if len(args) != 1:
        print('quireHistoryAllProc requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireHistoryAllProc(eval(args[0]),))

elif cmd == 'quireHistoryAllPort':
    if len(args) != 1:
        print('quireHistoryAllPort requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireHistoryAllPort(eval(args[0]),))

elif cmd == 'quireLostAgentInfo':
    if len(args) != 1:
        print('quireLostAgentInfo requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireLostAgentInfo(eval(args[0]),))

elif cmd == 'quireAgentStatus':
    if len(args) != 1:
        print('quireAgentStatus requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireAgentStatus(eval(args[0]),))

elif cmd == 'quireAllIp':
    if len(args) != 0:
        print('quireAllIp requires 0 args')
        sys.exit(1)
    pp.pprint(client.quireAllIp())

elif cmd == 'quireMultiIp':
    if len(args) != 1:
        print('quireMultiIp requires 1 args')
        sys.exit(1)
    pp.pprint(client.quireMultiIp(eval(args[0]),))

elif cmd == 'flushAgentInfo':
    if len(args) != 1:
        print('flushAgentInfo requires 1 args')
        sys.exit(1)
    pp.pprint(client.flushAgentInfo(eval(args[0]),))

elif cmd == 'get_agent_status':
    if len(args) != 1:
        print('get_agent_status requires 1 args')
        sys.exit(1)
    pp.pprint(client.get_agent_status(eval(args[0]),))

elif cmd == 'get_agent_info':
    if len(args) != 1:
        print('get_agent_info requires 1 args')
        sys.exit(1)
    pp.pprint(client.get_agent_info(eval(args[0]),))

else:
    print('Unrecognized method %s' % cmd)
    sys.exit(1)

transport.close()
