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


Python ServerProxy.release_downloads方法代码示例

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


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

示例1: Client

# 需要导入模块: from xmlrpc.client import ServerProxy [as 别名]
# 或者: from xmlrpc.client.ServerProxy import release_downloads [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


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