79def split_ints(ctx, param, value):
80
81 sep = ','
82 dash = '-'
83
84 if value is None:
85 return []
86
87 numbers = []
88 for item in value.split(sep):
89 nums = item.split(dash)
90 if len(nums) == 1:
91
92 numbers.append(__str2int__(item))
93 elif len(nums) == 2:
94
95 i, j = __str2int__(nums[0]), __str2int__(nums[1])
96 if i > j:
97 click.ClickException('Invalid interval '+item)
98 numbers.extend(list(range(i,j+1)))
99 else:
100 click.ClickException('Malformed option (comma separated list expected): {}'.format(value))
101
102 return numbers
103