| 
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