def package_existent(name):
"""search package.
* :class:`bootstrap_py.exceptions.Conflict` exception occurs
when user specified name has already existed.
* :class:`bootstrap_py.exceptions.BackendFailure` exception occurs
when PyPI service is down.
:param str name: package name
"""
if sys.version_info < (3, 0):
try:
result = search_package(name)
except (socket.error,
xmlrpc_client.ProtocolError) as exc:
raise BackendFailure(exc)
else:
try:
result = search_package(name)
except (socket.gaierror,
TimeoutError,
ConnectionRefusedError,
xmlrpc_client.ProtocolError) as exc:
raise BackendFailure(exc)
if result:
msg = ('[error] "{0}" is registered already in PyPI.\n'
'\tSpecify another package name.').format(name)
raise Conflict(msg)
评论列表
文章目录