def get_latest_version(release_information):
"""Iterate over object and return the latest version, as defined by
distutils.version.StrictVersion. The argument is intended to be a dictionary
with versions as key, but anything outputing version strings will work."""
latest = None
latest_strict = None # might contain '-' replaced through '.'
for version in release_information:
version_strict = version[:]
if '-' in version_strict:
version_strict = version_strict.replace('-', '.')
try:
version_strict = distutils.version.StrictVersion(version_strict)
except ValueError as e:
raise ReleaseError(e.args)
if not latest:
latest = version
latest_strict = version_strict
else:
if version_strict > latest_strict:
latest = version
latest_strict = version_strict
if not latest:
raise ReleaseError("No versions found for " % repr(release_information))
return latest
评论列表
文章目录