本文整理汇总了Python中xmlrpc.client.ServerProxy.release_urls方法的典型用法代码示例。如果您正苦于以下问题:Python ServerProxy.release_urls方法的具体用法?Python ServerProxy.release_urls怎么用?Python ServerProxy.release_urls使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xmlrpc.client.ServerProxy
的用法示例。
在下文中一共展示了ServerProxy.release_urls方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: show_pypi_status
# 需要导入模块: from xmlrpc.client import ServerProxy [as 别名]
# 或者: from xmlrpc.client.ServerProxy import release_urls [as 别名]
def show_pypi_status(ctx, severe=True):
"""Show project status on PyPI before doing a release.
"""
info = atelier.current_project.SETUP_INFO
version = info['version']
name = info['name']
assert name and version
from xmlrpc.client import ServerProxy
client = ServerProxy('https://pypi.python.org/pypi')
released_versions = client.package_releases(name)
if len(released_versions) == 0:
print("No PyPI release of %(name)s has been done so far." % info)
else:
urls = client.release_urls(name, released_versions[-1])
if len(urls) == 0:
msg = "Last PyPI release was {0} (no files available)."
msg = msg.format(released_versions[-1])
print(msg)
else:
lastrel = urls[-1]
# dt = lastrel['upload_time']
# lastrel['upload_time'] = dt.ISO()
print(LASTREL_INFO % lastrel)
if severe and version in released_versions:
raise Exit(
"ABORT: %(name)s %(version)s has already been "
"released." % info)
示例2: __init__
# 需要导入模块: from xmlrpc.client import ServerProxy [as 别名]
# 或者: from xmlrpc.client.ServerProxy import release_urls [as 别名]
class PYPISource:
PYPI_URL = 'http://pypi.python.org/pypi'
def __init__(self):
self.pypi = ServerProxy(self.PYPI_URL)
def packages(self):
return self.pypi.list_packages()
def releases(self, package):
return self.pypi.package_releases(package, True)
def urls(self, package, version):
return self.pypi.release_urls(package, version)
def release_data(self, package, version):
return self.pypi.release_data(package, version)
def release_data_and_urls(self, package, version):
return [self.release_data(package, version), self.urls(package, version)]
def latest(self):
return self.pypi.changelog_last_serial()
def changes(self, serial):
return self.pypi.changelog_since_serial(serial)
示例3: get_package_dist
# 需要导入模块: from xmlrpc.client import ServerProxy [as 别名]
# 或者: from xmlrpc.client.ServerProxy import release_urls [as 别名]
def get_package_dist(name, version='latest', packagetype='bdist_wheel'):
"""
Get a description of a package from a pypi server.
"""
pypi = ServerProxy(HOST)
if version == 'latest':
version = pypi.package_releases(name)[0]
urls = pypi.release_urls(name, version)
if not urls:
print('No package "{}" version "{}"'.format(name, version))
return None
dists = [d for d in urls if d['packagetype'] == packagetype]
if not dists:
print('No package "{}" type "{}"'.format(name, packagetype))
return None
return dists[0]
示例4: ServerProxy
# 需要导入模块: from xmlrpc.client import ServerProxy [as 别名]
# 或者: from xmlrpc.client.ServerProxy import release_urls [as 别名]
from random import choice
from urllib.parse import urlparse
from xmlrpc.client import ServerProxy
PYPI_XMLRPC_URL = 'https://pypi.python.org/pypi'
pypi = ServerProxy(PYPI_XMLRPC_URL)
dists = pypi.list_packages()
testcases = []
while len(testcases) < 200:
dist = choice(dists)
versions = pypi.package_releases(dist, True)
if len(versions) == 0:
continue
ver = choice(versions)
urls = pypi.release_urls(dist, ver)
urls = [u['url'] for u in urls if 'url' in u]
if len(urls) == 0:
continue
testcases.append((dist, ver, choice(urls)))
print('+' if len(testcases) % 10 == 0 else '.', end='', flush=True)
print("\nOK")
with open('testdata.txt', 'w') as f:
for dist, ver, url in testcases:
filename = urlparse(url).path.split('/')[-1]
print("{}\t{}\t{}".format(dist, ver, filename), file=f)