def pull_lp(self,url,server, output = True): #self.bitHopper.log_msg('pull_lp ' + url + ' ' + server) pool = self.pool.servers[server] if url[0] == '/': lp_address = str(pool['mine_address']) + str(url) else: lp_address = str(url) try: if self.polled[server].acquire(False): if output: self.bitHopper.log_msg("LP Call " + lp_address) else: self.bitHopper.log_dbg("LP Call " + lp_address) work.jsonrpc_lpcall(self.bitHopper.get_lp_agent(),server, lp_address, self) except Exception,e : self.bitHopper.log_dbg('pull_lp error') self.bitHopper.log_dbg(e)
def set_lp(self,url, check = False): if check: return not self.lp_set if self.lp_set: return server = self.pool.get_entry(self.pool.get_current()) if url[0] == '/': lp_address = str(server['mine_address']) + str(url) else: lp_address = str(url) self.bitHopper.log_msg("LP Call " + lp_address) self.lp_set = True try: work.jsonrpc_lpcall(self.bitHopper.get_lp_agent(),server, lp_address, self.update_lp) except Exception,e : self.bitHopper.log_dbg('set_lp error') self.bitHopper.log_dbg(e)
def check_lp(self,server): return self.pool.get_entry(server)['lp_address'] == None def set_lp(self,url,server): #self.bitHopper.log_msg('set_lp ' + url + ' ' + server) try: info = self.bitHopper.pool.get_entry(server) if info['lp_address'] == url: return info['lp_address'] = url self.bitHopper.reactor.callLater(0,self.pull_lp, (url,server)) except Exception,e: self.bitHopper.log_msg('set_lp error') self.bitHopper.log_dbg(str(e)) def pull_lp(self,(url,server)): #self.bitHopper.log_msg('pull_lp ' + url + ' ' + server) pool = self.pool.servers[server] if url[0] == '/': lp_address = str(pool['mine_address']) + str(url) else: lp_address = str(url) self.bitHopper.log_msg("LP Call " + lp_address) try: d = work.jsonrpc_lpcall(self.bitHopper.get_lp_agent(),server, lp_address, self) d.addErrback(self.bitHopper.log_dbg) except Exception,e : self.bitHopper.log_dbg('pull_lp error') self.bitHopper.log_dbg(e)