当前位置: 首页>>代码示例>>Python>>正文


Python ServerProxy.list_packages方法代码示例

本文整理汇总了Python中xmlrpc.client.ServerProxy.list_packages方法的典型用法代码示例。如果您正苦于以下问题:Python ServerProxy.list_packages方法的具体用法?Python ServerProxy.list_packages怎么用?Python ServerProxy.list_packages使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在xmlrpc.client.ServerProxy的用法示例。


在下文中一共展示了ServerProxy.list_packages方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: list_packages

# 需要导入模块: from xmlrpc.client import ServerProxy [as 别名]
# 或者: from xmlrpc.client.ServerProxy import list_packages [as 别名]
def list_packages(classifiers=None):
    client = ServerProxy(PYPI_XMLRPC_URL)
    if not classifiers:
        # packages = yield from client.list_packages()
        packages = client.list_packages()
        packages = dict.fromkeys(packages)
    else:
        # packages = yield from client.browse(classifiers)
        packages = client.browse(classifiers)
        # browse returns all versions, use the latest one only
        # TODO: use LooseVersion
        packages = dict(sorted(packages))
    return packages
开发者ID:vincentbernat,项目名称:pypi2deb,代码行数:15,代码来源:pypi.py

示例2: __init__

# 需要导入模块: from xmlrpc.client import ServerProxy [as 别名]
# 或者: from xmlrpc.client.ServerProxy import list_packages [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)
开发者ID:pfmoore,项目名称:wensleydale,代码行数:20,代码来源:__init__.py

示例3: ServerProxy

# 需要导入模块: from xmlrpc.client import ServerProxy [as 别名]
# 或者: from xmlrpc.client.ServerProxy import list_packages [as 别名]
from xmlrpc.client import ServerProxy
from collections import defaultdict
from progressbar import ProgressBar, Bar, ETA, AdaptiveETA, Percentage

pypi = ServerProxy("http://pypi.python.org/pypi")

start = pypi.changelog_last_serial()

packages = pypi.list_packages()

releases = defaultdict(list)

pb = ProgressBar(widgets=[Percentage(), ' ', Bar(), ' ', ETA(), ' ', AdaptiveETA()])

for pkg in pb(packages):
    rel = pypi.package_releases(pkg)
    all = pypi.package_releases(pkg, True)
    releases[pkg] = (set(rel), set(all)-set(rel))
    for r in all:
        urls = release_urls(pkg, r)
        data = release_data(pkg, r)
        dl = release_downloads(pkg, r)

end = pypi.changelog_last_serial()

if end > start:
    print("{} changes while this code ran".format(end-start))
开发者ID:pfmoore,项目名称:pypiscraper,代码行数:29,代码来源:get_releases.py

示例4: Client

# 需要导入模块: from xmlrpc.client import ServerProxy [as 别名]
# 或者: from xmlrpc.client.ServerProxy import list_packages [as 别名]
class Client(object):
	def __init__(self):
		self.uri = 'https://pypi.python.org/pypi'
		self.proxy = ServerProxy(self.uri)
		self.cache = set()


	def all_distributions(self):
		return self.proxy.list_packages()

	def roles(self, package):
		return [cl[1] for cl in self.proxy.package_roles(package)]

	def user_packages(self, user):
		return [cl[1] for cl in self.proxy.user_packages(user)]

	def release_downloads(self, package, version=None):
		if version is None:
			version = max(self.proxy.package_releases(package))
			if isinstance(version, list):
				version = version[0]
		return self.proxy.release_downloads(package, version)

	def package_releases(self, package):
		return self.proxy.package_releases(package)

	def release_data(self, package, version=None):
		version = max(self.proxy.package_releases(package))
		if isinstance(version, list):
			version = version[0]
		data = self.proxy.release_data(package, version)
		return data


	def simple_search(self, spec, operator='or', getter = None, omit = ('django')):
		"""Can search by name, version, author, author_email, maintainer,
		maintainer_email, home_page, license, summary,
		description, keywords, platform,download_url"""
		from pip.commands.search import transform_hits, highest_version
		from
		results = set()
		packages = {}
		from operator import itemgetter
		filter = itemgetter('name', 'version')
		info_getter = itemgetter('name', 'summary')
		name_getter = itemgetter('name')

		hits = self.proxy.search({'name': spec},{'summary':spec}, operator)
		results = transform_hits(hits)
		for result in results:
			result['version'] = highest_version(result['versions'])
			del result['score']
		return results


	def deep_search(self, spec, operator='and', cache = None, limit=20):
		results =list()
		temp_cache = set()
		initial_results = self.simple_search(spec, operator='and', getter=None, omit=['django'])
		for result in initial_results:
			new = PyPiPackage(result)
			results.append(new)
			temp_cache.add(new)
		if cache is not None:
			self.cache = cache|temp_cache
		else:
			pass
		filtered = sorted(results, key = lambda x: x.max_downloads, reversed=True)
		return filtered[limit:]


	def browse(self, classifiers):
		return self.proxy.browse(classifiers)


	def get_json_url(self, package):
		return "http://pypi.python.org/pypi/{}/json".format(package)
开发者ID:KGerring,项目名称:RevealMe,代码行数:79,代码来源:pypi.py

示例5: all_projects

# 需要导入模块: from xmlrpc.client import ServerProxy [as 别名]
# 或者: from xmlrpc.client.ServerProxy import list_packages [as 别名]
def all_projects():
    client = ServerProxy('https://pypi.python.org/pypi')
    return client.list_packages()
开发者ID:caniusepython3,项目名称:caniusepython3.com,代码行数:5,代码来源:tasks.py

示例6: get_packages

# 需要导入模块: from xmlrpc.client import ServerProxy [as 别名]
# 或者: from xmlrpc.client.ServerProxy import list_packages [as 别名]
def get_packages():
    pypi = ServerProxy('https://pypi.python.org/pypi')
    return pypi.list_packages()
开发者ID:pombreda,项目名称:sandbox,代码行数:5,代码来源:get_test_data.py


注:本文中的xmlrpc.client.ServerProxy.list_packages方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。