예제 #1
0
 def __init__(self, server_ip, server_port):
     try:
         self.proxy = client.get_proxy(server_ip, server_port)
         self.oxide = oxide_proxy(self)
         oshell.OxideShell.__init__(self)
         self.scratch_dir = loc_oxide.api.scratch_dir
         
     except socket.error:
         print "ERROR: Unable to connect!"
         exit()
예제 #2
0
def retrieve(mod_name, oid_list, opts={}):
    proxy_list = []
    oid_list = unpack(oid_list)
    mod_name = unpack(mod_name)
    opts = unpack(opts)

    for server_ip in server_list:
        proxy_list.append((server_ip, server_port))
    if not isinstance(oid_list, list):
        oid_list = [oid_list]
    new_oid_list = []
    for oid in oid_list:
        if not oxide.exists(mod_name, oid, opts):
            new_oid_list.append(oid)
    if new_oid_list:
        mp.multi_map_distrib(proxy_list, mod_name, new_oid_list, opts)
    proxy = get_proxy(server_ip, server_port, wrapped=True)
    return pack(proxy.retrieve(mod_name, oid_list, opts))