1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Fixes #12639 - Make sure name expansions throws a validation error on decrementing ranges (#13326)

* Fixes #12639 - Make sure name expansions throws a validation error on decrementing ranges

* Fix pep8

* Also fail on equal start & end values

---------

Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
This commit is contained in:
kkthxbye
2023-08-11 17:53:16 +02:00
committed by GitHub
parent 40afe6cf36
commit 5de9d3f15f
3 changed files with 14 additions and 3 deletions

View File

@ -60,6 +60,9 @@ def parse_alphanumeric_range(string):
except ValueError:
begin, end = dash_range, dash_range
if begin.isdigit() and end.isdigit():
if int(begin) >= int(end):
raise forms.ValidationError(f'Range "{dash_range}" is invalid.')
for n in list(range(int(begin), int(end) + 1)):
values.append(n)
else:
@ -71,6 +74,10 @@ def parse_alphanumeric_range(string):
# Not a valid range (more than a single character)
if not len(begin) == len(end) == 1:
raise forms.ValidationError(f'Range "{dash_range}" is invalid.')
if ord(begin) >= ord(end):
raise forms.ValidationError(f'Range "{dash_range}" is invalid.')
for n in list(range(ord(begin), ord(end) + 1)):
values.append(chr(n))
return values