|
from __future__ import annotations |
|
|
|
from contourpy._contourpy import FillType, LineType, ZInterp |
|
|
|
|
|
def as_fill_type(fill_type: FillType | str) -> FillType: |
|
"""Coerce a FillType or string value to a FillType. |
|
|
|
Args: |
|
fill_type (FillType or str): Value to convert. |
|
|
|
Return: |
|
FillType: Converted value. |
|
""" |
|
if isinstance(fill_type, str): |
|
try: |
|
return FillType.__members__[fill_type] |
|
except KeyError as e: |
|
raise ValueError(f"'{fill_type}' is not a valid FillType") from e |
|
else: |
|
return fill_type |
|
|
|
|
|
def as_line_type(line_type: LineType | str) -> LineType: |
|
"""Coerce a LineType or string value to a LineType. |
|
|
|
Args: |
|
line_type (LineType or str): Value to convert. |
|
|
|
Return: |
|
LineType: Converted value. |
|
""" |
|
if isinstance(line_type, str): |
|
try: |
|
return LineType.__members__[line_type] |
|
except KeyError as e: |
|
raise ValueError(f"'{line_type}' is not a valid LineType") from e |
|
else: |
|
return line_type |
|
|
|
|
|
def as_z_interp(z_interp: ZInterp | str) -> ZInterp: |
|
"""Coerce a ZInterp or string value to a ZInterp. |
|
|
|
Args: |
|
z_interp (ZInterp or str): Value to convert. |
|
|
|
Return: |
|
ZInterp: Converted value. |
|
""" |
|
if isinstance(z_interp, str): |
|
try: |
|
return ZInterp.__members__[z_interp] |
|
except KeyError as e: |
|
raise ValueError(f"'{z_interp}' is not a valid ZInterp") from e |
|
else: |
|
return z_interp |
|
|