in daisy_workflows/linux_common/utils/apt.py [0:0]
def determine_version_to_install(current_version: str,
available_versions: typing.Set[str],
blocked_versions: typing.Set[str]) -> str:
non_blocked_versions = set()
for v in available_versions:
blocked = False
for b in blocked_versions:
if v.startswith(b):
blocked = True
break
if not blocked:
non_blocked_versions.add(v)
candidate = ''
for v in non_blocked_versions:
if v > current_version and v > candidate:
candidate = v
logging.debug({
'available_versions': available_versions,
'non_blocked_versions': non_blocked_versions,
'blocked_versions': blocked_versions,
'candidate': candidate,
})
return candidate