Color: Strip string input and remove redundant Color | ColorLike typing

This commit is contained in:
Jonathan Wagenet 2025-08-13 12:34:08 -04:00
parent 16abcafa6d
commit e6cc2c6c0e
3 changed files with 6 additions and 3 deletions

View file

@ -1332,6 +1332,7 @@ class Color:
@staticmethod
def _rgb_from_str(name: str) -> tuple:
name = name.strip()
if "#" not in name:
try:
# Use css3 color names by default

View file

@ -172,7 +172,7 @@ class Shape(NodeMixin, Generic[TOPODS]):
Args:
obj (TopoDS_Shape, optional): OCCT object. Defaults to None.
label (str, optional): Defaults to ''.
color (Color, optional): Defaults to None.
color (ColorLike, optional): Defaults to None.
parent (Compound, optional): assembly parent. Defaults to None.
Attributes:
@ -284,7 +284,7 @@ class Shape(NodeMixin, Generic[TOPODS]):
self,
obj: TopoDS_Shape | None = None,
label: str = "",
color: Color | ColorLike | None = None,
color: ColorLike | None = None,
parent: Compound | None = None,
):
self.wrapped: TOPODS | None = (
@ -339,7 +339,7 @@ class Shape(NodeMixin, Generic[TOPODS]):
return node_color
@color.setter
def color(self, value: Color | ColorLike | None) -> None:
def color(self, value: ColorLike | None) -> None:
"""Set the shape's color"""
self._color = Color(value) if value is not None else None

View file

@ -130,9 +130,11 @@ class TestColor(unittest.TestCase):
red_color_likes = [
Quantity_ColorRGBA(1, 0, 0, 1),
"red",
"red ",
("red",),
("red", 1),
"#ff0000",
" #ff0000 ",
("#ff0000",),
("#ff0000", 1),
0xff0000,