cmds.projects.BaseCmdPkgRelations: Code beautification

pkg_relations_list() has an intricate case distinction around
expand_semver_revision_range, clean that up.

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2026-03-16 06:02:48 +01:00
commit 8869a2d3df

View file

@ -100,28 +100,27 @@ class BaseCmdPkgRelations(Cmd):
pass
else:
raise Exception("Unknown version specifier in " + spec)
if not expand_semver_revision_range:
if len(dep) != 3 or not expand_semver_revision_range:
expanded_deps = [dep]
else:
expanded_deps = []
if expand_semver_revision_range and len(dep) == 3:
semver = re.split(r'[.-]', version)
if len(semver) != 4:
expanded_deps = [dep]
else:
release = int(semver[2])
major_minor = f'{semver[0]}.{semver[1]}'
match dep[1]:
case '>' | '>=':
expanded_deps.append([dep[0], dep[1], dep[2]])
expanded_deps.append([dep[0], '<', f'{major_minor}.{release + 1}'])
case '<' | '<=':
expanded_deps.append([dep[0], dep[1], dep[2]])
case '=':
expanded_deps.append([dep[0], '>=', f'{major_minor}.{release}'])
expanded_deps.append([dep[0], '<', f'{major_minor}.{release + 1}'])
case _:
raise NotImplementedError(f'Expanding SemVer range "{dep[0]} {dep[1]} {dep[3]}" is not yet implemented')
semver = re.split(r'[.-]', version)
if len(semver) != 4:
expanded_deps = [dep]
else:
release = int(semver[2])
major_minor = f'{semver[0]}.{semver[1]}'
match dep[1]:
case '>' | '>=':
expanded_deps.append([dep[0], dep[1], dep[2]])
expanded_deps.append([dep[0], '<', f'{major_minor}.{release + 1}'])
case '<' | '<=':
expanded_deps.append([dep[0], dep[1], dep[2]])
case '=':
expanded_deps.append([dep[0], '>=', f'{major_minor}.{release}'])
expanded_deps.append([dep[0], '<', f'{major_minor}.{release + 1}'])
case _:
raise NotImplementedError(f'Expanding SemVer range "{dep[0]} {dep[1]} {dep[3]}" is not yet implemented')
for expanded_dep in expanded_deps:
if hide_self and dep_name in modules:
continue