Format using ruff

This commit is contained in:
Torjus Håkestad 2024-06-15 11:44:33 +02:00
parent d9371fe266
commit 55a82add9f

View File

@ -12,6 +12,7 @@ class LightState(str, Enum):
on = "off" on = "off"
off = "on" off = "on"
class XYColor(NamedTuple): class XYColor(NamedTuple):
x: float x: float
y: float y: float
@ -45,6 +46,7 @@ class LightID(str, Enum):
all = "all" all = "all"
infuse = "infuse" infuse = "infuse"
def get_mqtt_broker(): def get_mqtt_broker():
if "HUECLI_BROKER" in os.environ: if "HUECLI_BROKER" in os.environ:
return os.environ["HUECLI_BROKER"] return os.environ["HUECLI_BROKER"]
@ -67,6 +69,7 @@ def complete_id(incomplete: str):
completion.append(id) completion.append(id)
return completion return completion
def complete_state(incomplete: str): def complete_state(incomplete: str):
states = ["on", "off"] states = ["on", "off"]
completion = [] completion = []
@ -147,8 +150,10 @@ def set_state(
LightID, typer.Argument(help="ID of light.", autocompletion=complete_id) LightID, typer.Argument(help="ID of light.", autocompletion=complete_id)
], ],
state: Annotated[ state: Annotated[
LightState, typer.Argument(help="State of light.", autocompletion=complete_state) LightState,
]): typer.Argument(help="State of light.", autocompletion=complete_state),
],
):
""" """
Set the state of ID to STATE Set the state of ID to STATE
""" """
@ -163,7 +168,8 @@ def set_brightness(
id: Annotated[ id: Annotated[
LightID, typer.Argument(help="ID of light.", autocompletion=complete_id) LightID, typer.Argument(help="ID of light.", autocompletion=complete_id)
], ],
brightness: int): brightness: int,
):
""" """
Set brigthness of ID to BRIGHTNESS Set brigthness of ID to BRIGHTNESS
""" """
@ -174,6 +180,7 @@ def set_brightness(
payload = json.dumps({"brightness": brightness}) payload = json.dumps({"brightness": brightness})
pub.single(topic, payload, hostname=get_mqtt_broker()) pub.single(topic, payload, hostname=get_mqtt_broker())
@app.command() @app.command()
def version(): def version():
""" """
@ -182,6 +189,7 @@ def version():
version = importlib.metadata.version("huecli") version = importlib.metadata.version("huecli")
typer.echo(f"huecli {version}") typer.echo(f"huecli {version}")
def parse_color(color: str) -> XYColor: def parse_color(color: str) -> XYColor:
if color in COLOR_MAP: if color in COLOR_MAP:
return XYColor(COLOR_MAP[color][0], COLOR_MAP[color][1]) return XYColor(COLOR_MAP[color][0], COLOR_MAP[color][1])
@ -194,6 +202,7 @@ def parse_color(color: str) -> XYColor:
case _: case _:
raise ValueError("Invalid color format") raise ValueError("Invalid color format")
def _parse_rgb_color(r: float, g: float, b: float) -> XYColor: def _parse_rgb_color(r: float, g: float, b: float) -> XYColor:
if any(val > 1 for val in [r, g, b]): if any(val > 1 for val in [r, g, b]):
if any(val > 255 for val in [r, g, b]): if any(val > 255 for val in [r, g, b]):
@ -204,6 +213,7 @@ def _parse_rgb_color(r: float, g: float, b: float) -> XYColor:
return rgb_to_xy(r, g, b) return rgb_to_xy(r, g, b)
raise ValueError("RGB values must be between 0 and 255 or 0.0 and 1.0") raise ValueError("RGB values must be between 0 and 255 or 0.0 and 1.0")
def main(): def main():
app() app()