Clean up logic

This commit is contained in:
Daniel Sheppard 2024-02-28 11:59:21 -06:00
parent 221e095f1d
commit 665ea402f6

View File

@ -60,29 +60,28 @@ def parse_alphanumeric_range(string):
return [] return []
except ValueError: except ValueError:
begin, end = dash_range, dash_range begin, end = dash_range, dash_range
# Value-based
if begin == end: if begin == end:
values.append(begin) values.append(begin)
# Numeric range-based
elif begin.isdigit() and end.isdigit(): elif begin.isdigit() and end.isdigit():
if int(begin) >= int(end): if int(begin) >= int(end):
raise forms.ValidationError(_('Range "{value}" is invalid.').format(value=dash_range)) raise forms.ValidationError(_('Range "{value}" is invalid.').format(value=dash_range))
for n in list(range(int(begin), int(end) + 1)): for n in list(range(int(begin), int(end) + 1)):
values.append(n) values.append(n)
# Range-based
else: else:
# Value-based # Not a valid range (more than a single character)
if begin == end: if not len(begin) == len(end) == 1:
values.append(begin) raise forms.ValidationError(_('Range "{value}" is invalid.').format(value=dash_range))
# Range-based
else:
# Not a valid range (more than a single character)
if not len(begin) == len(end) == 1:
raise forms.ValidationError(_('Range "{value}" is invalid.').format(value=dash_range))
if ord(begin) >= ord(end): if ord(begin) >= ord(end):
raise forms.ValidationError(_('Range "{value}" is invalid.').format(value=dash_range)) raise forms.ValidationError(_('Range "{value}" is invalid.').format(value=dash_range))
for n in list(range(ord(begin), ord(end) + 1)): for n in list(range(ord(begin), ord(end) + 1)):
values.append(chr(n)) values.append(chr(n))
return values return values