mirror of
https://github.com/home-assistant/core.git
synced 2025-12-20 02:48:57 +00:00
Update systembridgeconnector to 5.2.4, fix media source (#158917)
This commit is contained in:
@@ -13,12 +13,12 @@ from systembridgeconnector.exceptions import (
|
||||
ConnectionErrorException,
|
||||
DataMissingException,
|
||||
)
|
||||
from systembridgeconnector.models.keyboard_key import KeyboardKey
|
||||
from systembridgeconnector.models.keyboard_text import KeyboardText
|
||||
from systembridgeconnector.models.modules.processes import Process
|
||||
from systembridgeconnector.models.open_path import OpenPath
|
||||
from systembridgeconnector.models.open_url import OpenUrl
|
||||
from systembridgeconnector.version import Version
|
||||
from systembridgemodels.keyboard_key import KeyboardKey
|
||||
from systembridgemodels.keyboard_text import KeyboardText
|
||||
from systembridgemodels.modules.processes import Process
|
||||
from systembridgemodels.open_path import OpenPath
|
||||
from systembridgemodels.open_url import OpenUrl
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
|
||||
@@ -12,8 +12,8 @@ from systembridgeconnector.exceptions import (
|
||||
ConnectionClosedException,
|
||||
ConnectionErrorException,
|
||||
)
|
||||
from systembridgeconnector.models.modules import GetData, Module
|
||||
from systembridgeconnector.websocket_client import WebSocketClient
|
||||
from systembridgemodels.modules import GetData, Module
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant.config_entries import SOURCE_REAUTH, ConfigFlow, ConfigFlowResult
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
from typing import Final
|
||||
|
||||
from systembridgemodels.modules import Module
|
||||
from systembridgeconnector.models.modules import Module
|
||||
|
||||
DOMAIN = "system_bridge"
|
||||
|
||||
|
||||
@@ -13,13 +13,13 @@ from systembridgeconnector.exceptions import (
|
||||
ConnectionClosedException,
|
||||
ConnectionErrorException,
|
||||
)
|
||||
from systembridgeconnector.websocket_client import WebSocketClient
|
||||
from systembridgemodels.modules import (
|
||||
from systembridgeconnector.models.modules import (
|
||||
GetData,
|
||||
Module,
|
||||
ModulesData,
|
||||
RegisterDataListener,
|
||||
)
|
||||
from systembridgeconnector.websocket_client import WebSocketClient
|
||||
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import (
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
from dataclasses import dataclass, field
|
||||
|
||||
from systembridgemodels.modules import (
|
||||
from systembridgeconnector.models.modules import (
|
||||
CPU,
|
||||
GPU,
|
||||
Battery,
|
||||
|
||||
@@ -9,6 +9,6 @@
|
||||
"integration_type": "device",
|
||||
"iot_class": "local_push",
|
||||
"loggers": ["systembridgeconnector"],
|
||||
"requirements": ["systembridgeconnector==5.1.0"],
|
||||
"requirements": ["systembridgeconnector==5.2.4"],
|
||||
"zeroconf": ["_system-bridge._tcp.local."]
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ from __future__ import annotations
|
||||
import datetime as dt
|
||||
from typing import Final
|
||||
|
||||
from systembridgemodels.media_control import MediaAction, MediaControl
|
||||
from systembridgeconnector.models.media_control import MediaAction, MediaControl
|
||||
|
||||
from homeassistant.components.media_player import (
|
||||
MediaPlayerDeviceClass,
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from systembridgemodels.media_directories import MediaDirectory
|
||||
from systembridgemodels.media_files import MediaFile, MediaFiles
|
||||
from systembridgemodels.media_get_files import MediaGetFiles
|
||||
from systembridgeconnector.models.media_directories import MediaDirectory
|
||||
from systembridgeconnector.models.media_files import MediaFile, MediaFiles
|
||||
from systembridgeconnector.models.media_get_files import MediaGetFiles
|
||||
|
||||
from homeassistant.components.media_player import MediaClass
|
||||
from homeassistant.components.media_source import (
|
||||
@@ -183,9 +183,9 @@ def _build_media_items(
|
||||
for file in media_files.files
|
||||
if file.is_directory
|
||||
or (
|
||||
file.is_file
|
||||
and file.mime_type is not None
|
||||
and file.mime_type.startswith(MEDIA_MIME_TYPES)
|
||||
not file.is_directory
|
||||
and file.content_type is not None
|
||||
and file.content_type.startswith(MEDIA_MIME_TYPES)
|
||||
)
|
||||
],
|
||||
)
|
||||
@@ -197,20 +197,20 @@ def _build_media_item(
|
||||
) -> BrowseMediaSource:
|
||||
"""Build individual media item."""
|
||||
ext = ""
|
||||
if media_file.is_file and media_file.mime_type is not None:
|
||||
ext = f"~~{media_file.mime_type}"
|
||||
if not media_file.is_directory and media_file.content_type is not None:
|
||||
ext = f"~~{media_file.content_type}"
|
||||
|
||||
if media_file.is_directory or media_file.mime_type is None:
|
||||
if media_file.is_directory or media_file.content_type is None:
|
||||
media_class = MediaClass.DIRECTORY
|
||||
else:
|
||||
media_class = MEDIA_CLASS_MAP[media_file.mime_type.split("/", 1)[0]]
|
||||
media_class = MEDIA_CLASS_MAP[media_file.content_type.split("/", 1)[0]]
|
||||
|
||||
return BrowseMediaSource(
|
||||
domain=DOMAIN,
|
||||
identifier=f"{path}/{media_file.name}{ext}",
|
||||
media_class=media_class,
|
||||
media_content_type=media_file.mime_type,
|
||||
media_content_type=media_file.content_type,
|
||||
title=media_file.name,
|
||||
can_play=media_file.is_file,
|
||||
can_play=not media_file.is_directory,
|
||||
can_expand=media_file.is_directory,
|
||||
)
|
||||
|
||||
@@ -5,7 +5,7 @@ from __future__ import annotations
|
||||
import logging
|
||||
from typing import Any
|
||||
|
||||
from systembridgemodels.notification import Notification
|
||||
from systembridgeconnector.models.notification import Notification
|
||||
|
||||
from homeassistant.components.notify import (
|
||||
ATTR_DATA,
|
||||
|
||||
@@ -7,9 +7,9 @@ from dataclasses import dataclass
|
||||
from datetime import UTC, datetime, timedelta
|
||||
from typing import Final, cast
|
||||
|
||||
from systembridgemodels.modules.cpu import PerCPU
|
||||
from systembridgemodels.modules.displays import Display
|
||||
from systembridgemodels.modules.gpus import GPU
|
||||
from systembridgeconnector.models.modules.cpu import PerCPU
|
||||
from systembridgeconnector.models.modules.displays import Display
|
||||
from systembridgeconnector.models.modules.gpus import GPU
|
||||
|
||||
from homeassistant.components.sensor import (
|
||||
SensorDeviceClass,
|
||||
|
||||
2
requirements_all.txt
generated
2
requirements_all.txt
generated
@@ -2949,7 +2949,7 @@ switchbot-api==2.8.0
|
||||
synology-srm==0.2.0
|
||||
|
||||
# homeassistant.components.system_bridge
|
||||
systembridgeconnector==5.1.0
|
||||
systembridgeconnector==5.2.4
|
||||
|
||||
# homeassistant.components.tailscale
|
||||
tailscale==0.6.2
|
||||
|
||||
2
requirements_test_all.txt
generated
2
requirements_test_all.txt
generated
@@ -2461,7 +2461,7 @@ surepy==0.9.0
|
||||
switchbot-api==2.8.0
|
||||
|
||||
# homeassistant.components.system_bridge
|
||||
systembridgeconnector==5.1.0
|
||||
systembridgeconnector==5.2.4
|
||||
|
||||
# homeassistant.components.tailscale
|
||||
tailscale==0.6.2
|
||||
|
||||
@@ -4,16 +4,16 @@ from collections.abc import Awaitable, Callable
|
||||
from ipaddress import ip_address
|
||||
from typing import Any
|
||||
|
||||
from systembridgemodels.fixtures.modules.battery import FIXTURE_BATTERY
|
||||
from systembridgemodels.fixtures.modules.cpu import FIXTURE_CPU
|
||||
from systembridgemodels.fixtures.modules.disks import FIXTURE_DISKS
|
||||
from systembridgemodels.fixtures.modules.displays import FIXTURE_DISPLAYS
|
||||
from systembridgemodels.fixtures.modules.gpus import FIXTURE_GPUS
|
||||
from systembridgemodels.fixtures.modules.media import FIXTURE_MEDIA
|
||||
from systembridgemodels.fixtures.modules.memory import FIXTURE_MEMORY
|
||||
from systembridgemodels.fixtures.modules.processes import FIXTURE_PROCESSES
|
||||
from systembridgemodels.fixtures.modules.system import FIXTURE_SYSTEM
|
||||
from systembridgemodels.modules import Module, ModulesData
|
||||
from systembridgeconnector.models.fixtures.modules.battery import FIXTURE_BATTERY
|
||||
from systembridgeconnector.models.fixtures.modules.cpu import FIXTURE_CPU
|
||||
from systembridgeconnector.models.fixtures.modules.disks import FIXTURE_DISKS
|
||||
from systembridgeconnector.models.fixtures.modules.displays import FIXTURE_DISPLAYS
|
||||
from systembridgeconnector.models.fixtures.modules.gpus import FIXTURE_GPUS
|
||||
from systembridgeconnector.models.fixtures.modules.media import FIXTURE_MEDIA
|
||||
from systembridgeconnector.models.fixtures.modules.memory import FIXTURE_MEMORY
|
||||
from systembridgeconnector.models.fixtures.modules.processes import FIXTURE_PROCESSES
|
||||
from systembridgeconnector.models.fixtures.modules.system import FIXTURE_SYSTEM
|
||||
from systembridgeconnector.models.modules import Module, ModulesData
|
||||
|
||||
from homeassistant.const import CONF_HOST, CONF_PORT, CONF_TOKEN
|
||||
from homeassistant.core import HomeAssistant
|
||||
|
||||
@@ -8,21 +8,25 @@ from unittest.mock import AsyncMock, MagicMock, patch
|
||||
|
||||
import pytest
|
||||
from systembridgeconnector.const import EventKey, EventType
|
||||
from systembridgemodels.fixtures.modules.battery import FIXTURE_BATTERY
|
||||
from systembridgemodels.fixtures.modules.cpu import FIXTURE_CPU
|
||||
from systembridgemodels.fixtures.modules.disks import FIXTURE_DISKS
|
||||
from systembridgemodels.fixtures.modules.displays import FIXTURE_DISPLAYS
|
||||
from systembridgemodels.fixtures.modules.gpus import FIXTURE_GPUS
|
||||
from systembridgemodels.fixtures.modules.media import FIXTURE_MEDIA
|
||||
from systembridgemodels.fixtures.modules.memory import FIXTURE_MEMORY
|
||||
from systembridgemodels.fixtures.modules.networks import FIXTURE_NETWORKS
|
||||
from systembridgemodels.fixtures.modules.processes import FIXTURE_PROCESSES
|
||||
from systembridgemodels.fixtures.modules.sensors import FIXTURE_SENSORS
|
||||
from systembridgemodels.fixtures.modules.system import FIXTURE_SYSTEM
|
||||
from systembridgemodels.media_directories import MediaDirectory
|
||||
from systembridgemodels.media_files import MediaFile, MediaFiles
|
||||
from systembridgemodels.modules import Module, ModulesData, RegisterDataListener
|
||||
from systembridgemodels.response import Response
|
||||
from systembridgeconnector.models.fixtures.modules.battery import FIXTURE_BATTERY
|
||||
from systembridgeconnector.models.fixtures.modules.cpu import FIXTURE_CPU
|
||||
from systembridgeconnector.models.fixtures.modules.disks import FIXTURE_DISKS
|
||||
from systembridgeconnector.models.fixtures.modules.displays import FIXTURE_DISPLAYS
|
||||
from systembridgeconnector.models.fixtures.modules.gpus import FIXTURE_GPUS
|
||||
from systembridgeconnector.models.fixtures.modules.media import FIXTURE_MEDIA
|
||||
from systembridgeconnector.models.fixtures.modules.memory import FIXTURE_MEMORY
|
||||
from systembridgeconnector.models.fixtures.modules.networks import FIXTURE_NETWORKS
|
||||
from systembridgeconnector.models.fixtures.modules.processes import FIXTURE_PROCESSES
|
||||
from systembridgeconnector.models.fixtures.modules.sensors import FIXTURE_SENSORS
|
||||
from systembridgeconnector.models.fixtures.modules.system import FIXTURE_SYSTEM
|
||||
from systembridgeconnector.models.media_directories import MediaDirectory
|
||||
from systembridgeconnector.models.media_files import MediaFile, MediaFiles
|
||||
from systembridgeconnector.models.modules import (
|
||||
Module,
|
||||
ModulesData,
|
||||
RegisterDataListener,
|
||||
)
|
||||
from systembridgeconnector.models.response import Response
|
||||
|
||||
from homeassistant.components.system_bridge.config_flow import SystemBridgeConfigFlow
|
||||
from homeassistant.components.system_bridge.const import DOMAIN
|
||||
@@ -130,6 +134,7 @@ def mock_websocket_client(
|
||||
websocket_client.get_directories.return_value = [
|
||||
MediaDirectory(
|
||||
key="documents",
|
||||
name="Documents",
|
||||
path="/home/user/documents",
|
||||
)
|
||||
]
|
||||
@@ -143,6 +148,8 @@ def mock_websocket_client(
|
||||
last_accessed=1630000000,
|
||||
created=1630000000,
|
||||
modified=1630000000,
|
||||
mod_time=1630000000,
|
||||
permissions="rwxr-xr-x",
|
||||
is_directory=True,
|
||||
is_file=False,
|
||||
is_link=False,
|
||||
@@ -155,6 +162,8 @@ def mock_websocket_client(
|
||||
last_accessed=1630000000,
|
||||
created=1630000000,
|
||||
modified=1630000000,
|
||||
mod_time=1630000000,
|
||||
permissions="rw-r--r--",
|
||||
is_directory=False,
|
||||
is_file=True,
|
||||
is_link=False,
|
||||
@@ -168,6 +177,8 @@ def mock_websocket_client(
|
||||
last_accessed=1630000000,
|
||||
created=1630000000,
|
||||
modified=1630000000,
|
||||
mod_time=1630000000,
|
||||
permissions="rw-r--r--",
|
||||
is_directory=False,
|
||||
is_file=True,
|
||||
is_link=False,
|
||||
|
||||
Reference in New Issue
Block a user