mirror of
https://github.com/natekspencer/hacs-oasis_mini.git
synced 2025-12-06 18:44:14 -05:00
📝 Add docstrings to mqtt
Docstrings generation was requested by @natekspencer. * https://github.com/natekspencer/hacs-oasis_mini/pull/98#issuecomment-3568450288 The following files were modified: * `custom_components/oasis_mini/__init__.py` * `custom_components/oasis_mini/binary_sensor.py` * `custom_components/oasis_mini/button.py` * `custom_components/oasis_mini/config_flow.py` * `custom_components/oasis_mini/coordinator.py` * `custom_components/oasis_mini/entity.py` * `custom_components/oasis_mini/helpers.py` * `custom_components/oasis_mini/image.py` * `custom_components/oasis_mini/light.py` * `custom_components/oasis_mini/media_player.py` * `custom_components/oasis_mini/number.py` * `custom_components/oasis_mini/pyoasiscontrol/clients/cloud_client.py` * `custom_components/oasis_mini/pyoasiscontrol/clients/http_client.py` * `custom_components/oasis_mini/pyoasiscontrol/clients/mqtt_client.py` * `custom_components/oasis_mini/pyoasiscontrol/clients/transport.py` * `custom_components/oasis_mini/pyoasiscontrol/device.py` * `custom_components/oasis_mini/pyoasiscontrol/utils.py` * `custom_components/oasis_mini/select.py` * `custom_components/oasis_mini/sensor.py` * `custom_components/oasis_mini/switch.py` * `custom_components/oasis_mini/update.py` * `update_tracks.py`
This commit is contained in:
committed by
GitHub
parent
cf21a5d995
commit
4ef28fc741
@@ -28,7 +28,15 @@ def _bit_to_bool(val: str) -> bool:
|
||||
|
||||
|
||||
def _parse_int(val: str) -> int:
|
||||
"""Convert an int string to int."""
|
||||
"""
|
||||
Parse a string into an integer, falling back to 0 when conversion fails.
|
||||
|
||||
Parameters:
|
||||
val (str): String potentially containing an integer value.
|
||||
|
||||
Returns:
|
||||
int: The parsed integer, or 0 if `val` cannot be converted.
|
||||
"""
|
||||
try:
|
||||
return int(val)
|
||||
except Exception:
|
||||
@@ -36,7 +44,18 @@ def _parse_int(val: str) -> int:
|
||||
|
||||
|
||||
def create_svg(track: dict, progress: int) -> str | None:
|
||||
"""Create an SVG from a track based on progress."""
|
||||
"""
|
||||
Create an SVG visualization of a track showing progress as a completed path and indicator.
|
||||
|
||||
Builds an SVG representation from the track's "svg_content" and the provided progress value. If progress is supplied, the function will decrypt the stored SVG content (if needed), compute which path segments are complete using the track's optional "reduced_svg_content_new" value or the number of path segments, and render a base arc, completed arc, track, completed track segment, background circle, and a ball indicator positioned at the current progress point. Returns None if input is missing or an error occurs.
|
||||
|
||||
Parameters:
|
||||
track (dict): Track data containing at minimum an "svg_content" entry and optionally "reduced_svg_content_new" to indicate total segments.
|
||||
progress (int): Current progress expressed as a count relative to the track's total segments.
|
||||
|
||||
Returns:
|
||||
str | None: Serialized SVG markup as a UTF-8 string when successful, otherwise `None`.
|
||||
"""
|
||||
if track and (svg_content := track.get("svg_content")):
|
||||
try:
|
||||
if progress is not None:
|
||||
@@ -181,4 +200,4 @@ def decrypt_svg_content(svg_content: dict[str, str]):
|
||||
|
||||
|
||||
def now() -> datetime:
|
||||
return datetime.now(UTC)
|
||||
return datetime.now(UTC)
|
||||
Reference in New Issue
Block a user