|
21 | 21 |
|
22 | 22 |
|
23 | 23 | def _to_floats(given: list[COLOR_ARGS]) -> tuple[float, float, float]:
|
| 24 | + """ |
| 25 | + takes a list with tuples containing a value and a max_values |
| 26 | + at the end it should return a number between 0 and 1 for each tuple |
| 27 | + """ |
24 | 28 | out: list[float] = []
|
25 | 29 |
|
26 | 30 | for arg in given:
|
@@ -57,12 +61,14 @@ async def color_picker(self, ctx: Context, *, color: str):
|
57 | 61 | rgb = _to_floats([COLOR_ARGS(color_re.group(i), 255) for i in range(2, 5)])
|
58 | 62 |
|
59 | 63 | elif color_re := self.RE_HSV.match(color):
|
60 |
| - values = _to_floats([COLOR_ARGS(color_re.group(i[0]), i[1]) for i in ((2, 360), (3, 100), (4, 100))]) |
61 |
| - rgb = colorsys.hsv_to_rgb(values[0], values[1], values[2]) |
| 64 | + rgb = colorsys.hsv_to_rgb( |
| 65 | + *_to_floats([COLOR_ARGS(color_re.group(i), value) for i, value in ((2, 360), (3, 100), (4, 100))]) |
| 66 | + ) |
62 | 67 |
|
63 | 68 | elif color_re := self.RE_HSL.match(color):
|
64 |
| - values = _to_floats([COLOR_ARGS(color_re.group(i[0]), i[1]) for i in ((2, 360), (3, 100), (4, 100))]) |
65 |
| - rgb = colorsys.hls_to_rgb(values[0], values[2], values[1]) |
| 69 | + rgb = colorsys.hls_to_rgb( |
| 70 | + *_to_floats([COLOR_ARGS(color_re.group(i), value) for i, value in ((2, 360), (3, 100), (4, 100))]) |
| 71 | + ) |
66 | 72 |
|
67 | 73 | else:
|
68 | 74 | raise CommandError(t.error.parse_color_example(color))
|
|
0 commit comments