本文整理汇总了Python中xmlrpclib.ServerProxy.get_details方法的典型用法代码示例。如果您正苦于以下问题:Python ServerProxy.get_details方法的具体用法?Python ServerProxy.get_details怎么用?Python ServerProxy.get_details使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xmlrpclib.ServerProxy
的用法示例。
在下文中一共展示了ServerProxy.get_details方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get
# 需要导入模块: from xmlrpclib import ServerProxy [as 别名]
# 或者: from xmlrpclib.ServerProxy import get_details [as 别名]
def get(key, maxvals=10, gateway=_gateway):
'''Invoke XML-RPC get_details(H(key), maxvals) on the OpenDHT gateway.
Return a list of tuple(value, remaining-ttl, hash-algorithm, H(secret))
where remaining-ttl is int, hash-algorithm is string and H(secret) is lower-case
hex of hash of secret starting with 0x.'''
pxy = ServerProxy(gateway)
pm = Binary('')
key = Binary(hashlib.sha1(key).digest())
result = []
while True:
vals, pm = pxy.get_details(key, maxvals, pm, 'get.py')
for v in vals:
# hex = '0x' + ''.join(['%02x'%ord(x) for x in v[3].data[:4]])
result.append([v[0].data, v[1], v[2], v[3].data])
if not pm.data: break
return result
示例2: download_scheduler
# 需要导入模块: from xmlrpclib import ServerProxy [as 别名]
# 或者: from xmlrpclib.ServerProxy import get_details [as 别名]
def download_scheduler():
"""Schedule packages from download queue for downloading."""
log(format % ("-", "-", "SCHEDULEDER", "-", "Download Scheduler starting."))
time.sleep(3)
package_pool = ServerProxy("http://" + rpc_host + ":" + str(rpc_port))
while True:
if package_pool.get_conn_number() < max_parallel_downloads:
# log(format%(str(package_pool.get_conn_number()), '-', 'CONN_AVAIL', '-', '-'))
package = package_pool.get_popular()
if package != "NULL" and package_pool.is_active(package) == False:
# log(format%('-', '-', 'INACTIVE', '-', '-'))
params = package_pool.get_details(package)
if params != False:
package_pool.set_score(package, 0)
package_pool.add_conn(package)
log(format % (params[0], params[4], "SCHEDULED", params[5], "Package scheduled for download."))
forked = fork(download_from_source)
forked(params)
if package_pool.is_active(package) == True:
package_pool.set_score(package, 0)
time.sleep(3)
return