本文整理汇总了Python中xmlrpc.client.ServerProxy.search方法的典型用法代码示例。如果您正苦于以下问题:Python ServerProxy.search方法的具体用法?Python ServerProxy.search怎么用?Python ServerProxy.search使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xmlrpc.client.ServerProxy
的用法示例。
在下文中一共展示了ServerProxy.search方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: QueryClient
# 需要导入模块: from xmlrpc.client import ServerProxy [as 别名]
# 或者: from xmlrpc.client.ServerProxy import search [as 别名]
class QueryClient(object):
def __init__(self, server_address=ServerAddress):
self.server_address = server_address
self.server_proxy = XMLRPCServerProxy("http://%s:%s/" % self.server_address, allow_none=True)
def search(self, phrase):
return decode_from_binary(self.server_proxy.search(phrase))
示例2: install_from_pypi
# 需要导入模块: from xmlrpc.client import ServerProxy [as 别名]
# 或者: from xmlrpc.client.ServerProxy import search [as 别名]
def install_from_pypi(cls, entry_point_name):
success = False
pypi = ServerProxy('https://pypi.python.org/pypi')
resource_id = entry_point_name_to_identifier(entry_point_name)
distribution_name_parts = ['rinoh', cls.resource_type, resource_id]
for pkg in pypi.search(dict(name=distribution_name_parts)):
if pkg['name'] == '-'.join(distribution_name_parts):
package_name = pkg['name']
print("Installing {} package '{}' using pip..."
.format(cls.resource_type, package_name))
pip.main(['install', package_name])
pkg_resources.working_set.__init__() # rescan entry points
success = True
break
return success
示例3: search
# 需要导入模块: from xmlrpc.client import ServerProxy [as 别名]
# 或者: from xmlrpc.client.ServerProxy import search [as 别名]
def search(self, query, mode=0):
results = []
search = {"name": query}
if mode == self.SEARCH_FULLTEXT:
search["summary"] = query
client = ServerProxy("https://pypi.python.org/pypi")
hits = client.search(search, "or")
for hit in hits:
result = Package(hit["name"], hit["version"], hit["version"])
result.description = to_str(hit["summary"])
results.append(result)
return results
示例4: Client
# 需要导入模块: from xmlrpc.client import ServerProxy [as 别名]
# 或者: from xmlrpc.client.ServerProxy import search [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)