in main.py [0:0]
def parse_range(range_str):
def parse_value(value):
value = value.strip()
if value.endswith('M'):
return int(value[:-1]) * 1_000_000
elif value.endswith('K'):
return int(value[:-1]) * 1_000
else:
raise ValueError("Unit for range not supported")
try:
# Remove brackets and split the string
values = range_str.strip('[]').split(',')
if len(values) != 3:
raise ValueError("Range must have exactly 3 values")
start = parse_value(values[0])
end = parse_value(values[1])
step = parse_value(values[2])
return start, end, step
except (ValueError, IndexError) as e:
raise argparse.ArgumentTypeError(f"Invalid range format. Use '[start, end, step]'. Error: {str(e)}")