Skip to content

Commit 0df4b4f

Browse files
committed
refactor: enhance to_pptx_rgb_color function to support PptxRGBColor type
1 parent d2d51a1 commit 0df4b4f

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

src/tppt/pptx/converter.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,18 +97,18 @@ def to_tppt_length(length: PptxLength | None) -> Length | None:
9797

9898
@overload
9999
def to_pptx_rgb_color(
100-
color: Color | LiteralColor,
100+
color: Color | LiteralColor | PptxRGBColor,
101101
) -> tuple[PptxRGBColor, int | None]: ...
102102

103103

104104
@overload
105105
def to_pptx_rgb_color(
106-
color: Color | LiteralColor | None,
106+
color: Color | LiteralColor | PptxRGBColor | None,
107107
) -> tuple[PptxRGBColor, int | None] | None: ...
108108

109109

110110
def to_pptx_rgb_color(
111-
color: Color | LiteralColor | None,
111+
color: Color | LiteralColor | PptxRGBColor | None,
112112
) -> (
113113
tuple[
114114
PptxRGBColor,

src/tppt/pptx/dml/color.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,13 +100,16 @@ def rgb(self) -> Color:
100100
solid_fill = cast(
101101
_Element, self._pptx._xFill.solidFill.get_or_change_to_srgbClr()
102102
)
103-
alpha = solid_fill.find("a:alpha", None)
104-
if alpha is not None:
103+
104+
if alpha := solid_fill.find("a:alpha", namespace):
105105
alpha = alpha.attrib["val"]
106+
else:
107+
alpha = None
108+
106109
return to_tppt_rgb_color(cast(PptxRGBColor, self._pptx.rgb), alpha=alpha)
107110

108111
@rgb.setter
109-
def rgb(self, color: Color | LiteralColor):
112+
def rgb(self, color: Color | LiteralColor | PptxRGBColor):
110113
pptx_color, alpha = to_pptx_rgb_color(color)
111114
self._pptx.rgb = pptx_color
112115
srgbClr = cast(_Element, cast(_SRgbColor, self._pptx._color)._srgbClr)

0 commit comments

Comments
 (0)