Skip to content

Commit 9927cdf

Browse files
authored
Merge pull request #118 from makermelissa/master
Fix typing for color565 function
2 parents 8cfb0db + c89be83 commit 9927cdf

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

adafruit_rgb_display/rgb.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,19 @@
4848

4949
def color565(
5050
r: Union[int, Tuple[int, int, int], List[int]],
51-
g: int = 0,
52-
b: int = 0,
51+
g: Optional[int] = 0,
52+
b: Optional[int] = 0,
5353
) -> int:
5454
"""Convert red, green and blue values (0-255) into a 16-bit 565 encoding. As
5555
a convenience this is also available in the parent adafruit_rgb_display
5656
package namespace."""
57-
if not isinstance(r, int): # see if the first var is a tuple/list
58-
red, g, b = r
57+
if isinstance(r, (tuple, list)): # see if the first var is a tuple/list
58+
if len(r) >= 3:
59+
red, g, b = r
60+
else:
61+
raise ValueError(
62+
"Not enough values to unpack (expected 3, got %d)" % len(r)
63+
)
5964
else:
6065
red = r
6166
return (red & 0xF8) << 8 | (g & 0xFC) << 3 | b >> 3

0 commit comments

Comments
 (0)