in uberpoet/statemanagement.py [0:0]
def choose_latest_major_versions(raw_versions):
"""
This selects the latest version for each major version of xcode in a set of xcode paths.
raw_versions is a {(version_str, build_str): xcode_path_str} dictionary.
"""
versions = {XcodeVersion(raw_version, build): path for (raw_version, build), path in raw_versions.iteritems()}
major_seperated = {}
for version, path in versions.iteritems():
subset = major_seperated.get(version.major, {})
subset[version] = path
major_seperated[version.major] = subset
out = {}
for subset in major_seperated.values():
max_version = max(subset.keys())
out[max_version.raw] = subset[max_version]
return out