diff --git a/backend/systembridgebackend/_version.py b/backend/systembridgebackend/_version.py index 81e63713b..99c528fad 100644 --- a/backend/systembridgebackend/_version.py +++ b/backend/systembridgebackend/_version.py @@ -7,5 +7,5 @@ from incremental import Version -__version__ = Version("systembridgebackend", 3, 1, 5, dev=0) +__version__ = Version("systembridgebackend", 3, 1, 6, dev=0) __all__ = ["__version__"] diff --git a/backend/systembridgebackend/server/media.py b/backend/systembridgebackend/server/media.py index e893a4759..1721b79f0 100644 --- a/backend/systembridgebackend/server/media.py +++ b/backend/systembridgebackend/server/media.py @@ -1,4 +1,6 @@ """System Bridge: Server Handler - Media""" +from __future__ import annotations + import mimetypes import os @@ -39,21 +41,24 @@ def get_files( path: str, ) -> list[dict]: """Get files from path""" - files = [] + files_info = [] for filename in os.listdir(path): - files.append( - get_file(BASE_DIRECTORIES[base_path], os.path.join(path, filename)) - ) + file_info = get_file(BASE_DIRECTORIES[base_path], os.path.join(path, filename)) + if file_info is not None: + files_info.append(file_info) - return files + return files_info def get_file( base_path: str, filepath: str, -) -> dict: +) -> dict | None: """Get file from path""" - stat = os.stat(filepath) + try: + stat = os.stat(filepath) + except FileNotFoundError: + return None mime_type = None if os.path.isfile(filepath): diff --git a/cli/systembridgecli/_version.py b/cli/systembridgecli/_version.py index f3af72250..81b97b1a8 100644 --- a/cli/systembridgecli/_version.py +++ b/cli/systembridgecli/_version.py @@ -7,5 +7,5 @@ from incremental import Version -__version__ = Version("systembridgecli", 3, 1, 5, dev=0) +__version__ = Version("systembridgecli", 3, 1, 6, dev=0) __all__ = ["__version__"] diff --git a/connector/systembridgeconnector/_version.py b/connector/systembridgeconnector/_version.py index 14bb7a338..0708b7e5d 100644 --- a/connector/systembridgeconnector/_version.py +++ b/connector/systembridgeconnector/_version.py @@ -7,5 +7,5 @@ from incremental import Version -__version__ = Version("systembridgeconnector", 3, 1, 5, dev=0) +__version__ = Version("systembridgeconnector", 3, 1, 6, dev=0) __all__ = ["__version__"] diff --git a/connector/systembridgeconnector/models/battery.py b/connector/systembridgeconnector/models/battery.py index 0351fbb92..b3eadeb97 100644 --- a/connector/systembridgeconnector/models/battery.py +++ b/connector/systembridgeconnector/models/battery.py @@ -3,6 +3,8 @@ from __future__ import annotations +from typing import Optional + from pydantic import BaseModel, Extra, Field @@ -14,8 +16,8 @@ class LastUpdated(BaseModel): class Config: extra = Extra.allow - is_charging: float - percentage: float + is_charging: Optional[float] = None + percentage: Optional[float] = None class Battery(BaseModel): @@ -26,6 +28,6 @@ class Battery(BaseModel): class Config: extra = Extra.allow - is_charging: bool - percentage: float - last_updated: LastUpdated = Field(..., description="Last updated") + is_charging: Optional[bool] = None + percentage: Optional[float] = None + last_updated: Optional[LastUpdated] = Field(None, description="Last updated") diff --git a/connector/systembridgeconnector/models/cpu.py b/connector/systembridgeconnector/models/cpu.py index 667fdc3c5..f963e3ce4 100644 --- a/connector/systembridgeconnector/models/cpu.py +++ b/connector/systembridgeconnector/models/cpu.py @@ -3,6 +3,8 @@ from __future__ import annotations +from typing import Optional + from pydantic import BaseModel, Extra, Field @@ -27,15 +29,15 @@ class Config: times_user: float times_system: float times_idle: float - times_interrupt: float - times_dpc: float + times_interrupt: Optional[float] = None + times_dpc: Optional[float] = None times_percent_user: float times_percent_system: float times_percent_idle: float - times_percent_interrupt: float - times_percent_dpc: float + times_percent_interrupt: Optional[float] = None + times_percent_dpc: Optional[float] = None usage: float - voltage: float + voltage: Optional[float] = None class Cpu(BaseModel): @@ -59,13 +61,13 @@ class Config: times_user: float times_system: float times_idle: float - times_interrupt: float - times_dpc: float + times_interrupt: Optional[float] = None + times_dpc: Optional[float] = None times_percent_user: float times_percent_system: float times_percent_idle: float - times_percent_interrupt: float - times_percent_dpc: float + times_percent_interrupt: Optional[float] = None + times_percent_dpc: Optional[float] = None usage: float - voltage: float + voltage: Optional[float] = None last_updated: LastUpdated = Field(..., description="Last updated") diff --git a/connector/systembridgeconnector/models/system.py b/connector/systembridgeconnector/models/system.py index 486f7c26b..ebd6e4873 100644 --- a/connector/systembridgeconnector/models/system.py +++ b/connector/systembridgeconnector/models/system.py @@ -3,6 +3,8 @@ from __future__ import annotations +from typing import Optional + from pydantic import BaseModel, Field @@ -21,8 +23,8 @@ class LastUpdated(BaseModel): uptime: float uuid: float version: float - version_latest: float - version_newer_available: float + version_latest: Optional[float] = None + version_newer_available: Optional[float] = None class System(BaseModel): @@ -40,6 +42,6 @@ class System(BaseModel): uptime: float uuid: str version: str - version_latest: str - version_newer_available: bool + version_latest: Optional[str] = None + version_newer_available: Optional[bool] = None last_updated: LastUpdated = Field(..., description="Last updated") diff --git a/connector/systembridgeconnector/version.py b/connector/systembridgeconnector/version.py index 8803dfbe8..e8dd28337 100644 --- a/connector/systembridgeconnector/version.py +++ b/connector/systembridgeconnector/version.py @@ -70,7 +70,7 @@ async def check_version_3(self) -> str | None: system = System(**response) if ( system - and system.version + and system.version is not None and parse_version(system.version) >= parse_version("3.0.0") ): return system.version diff --git a/frontend/systembridgefrontend/_version.py b/frontend/systembridgefrontend/_version.py index 01d9df67c..7edd4d26d 100644 --- a/frontend/systembridgefrontend/_version.py +++ b/frontend/systembridgefrontend/_version.py @@ -7,5 +7,5 @@ from incremental import Version -__version__ = Version("systembridgefrontend", 3, 1, 5, dev=0) +__version__ = Version("systembridgefrontend", 3, 1, 6, dev=0) __all__ = ["__version__"] diff --git a/gui/systembridgegui/_version.py b/gui/systembridgegui/_version.py index 22a027e61..150db8368 100644 --- a/gui/systembridgegui/_version.py +++ b/gui/systembridgegui/_version.py @@ -7,5 +7,5 @@ from incremental import Version -__version__ = Version("systembridgegui", 3, 1, 5, dev=0) +__version__ = Version("systembridgegui", 3, 1, 6, dev=0) __all__ = ["__version__"] diff --git a/schemas/data/battery.json b/schemas/data/battery.json index b58f4066a..fe4122ea5 100644 --- a/schemas/data/battery.json +++ b/schemas/data/battery.json @@ -22,10 +22,8 @@ }, "additionalProperties": { "type": "number" - }, - "required": ["is_charging", "percentage"] + } } }, - "additionalProperties": {}, - "required": ["is_charging", "percentage", "last_updated"] + "additionalProperties": {} } diff --git a/schemas/data/cpu.json b/schemas/data/cpu.json index e8e6b37e7..52d0e0e83 100644 --- a/schemas/data/cpu.json +++ b/schemas/data/cpu.json @@ -157,15 +157,10 @@ "times_user", "times_system", "times_idle", - "times_interrupt", - "times_dpc", "times_percent_user", "times_percent_system", "times_percent_idle", - "times_percent_interrupt", - "times_percent_dpc", - "usage", - "voltage" + "usage" ] } }, @@ -186,15 +181,10 @@ "times_user", "times_system", "times_idle", - "times_interrupt", - "times_dpc", "times_percent_user", "times_percent_system", "times_percent_idle", - "times_percent_interrupt", - "times_percent_dpc", "usage", - "voltage", "last_updated" ] } diff --git a/schemas/data/system.json b/schemas/data/system.json index e87d52a74..6a89aa641 100644 --- a/schemas/data/system.json +++ b/schemas/data/system.json @@ -93,9 +93,7 @@ "platform_version", "uptime", "uuid", - "version", - "version_latest", - "version_newer_available" + "version" ] } }, @@ -111,8 +109,6 @@ "uptime", "uuid", "version", - "version_latest", - "version_newer_available", "last_updated" ] } diff --git a/shared/systembridgeshared/_version.py b/shared/systembridgeshared/_version.py index 217a686a9..daf588e6e 100644 --- a/shared/systembridgeshared/_version.py +++ b/shared/systembridgeshared/_version.py @@ -7,5 +7,5 @@ from incremental import Version -__version__ = Version("systembridgeshared", 3, 1, 5, dev=0) +__version__ = Version("systembridgeshared", 3, 1, 6, dev=0) __all__ = ["__version__"] diff --git a/shared/systembridgeshared/models/battery.py b/shared/systembridgeshared/models/battery.py index 0351fbb92..b3eadeb97 100644 --- a/shared/systembridgeshared/models/battery.py +++ b/shared/systembridgeshared/models/battery.py @@ -3,6 +3,8 @@ from __future__ import annotations +from typing import Optional + from pydantic import BaseModel, Extra, Field @@ -14,8 +16,8 @@ class LastUpdated(BaseModel): class Config: extra = Extra.allow - is_charging: float - percentage: float + is_charging: Optional[float] = None + percentage: Optional[float] = None class Battery(BaseModel): @@ -26,6 +28,6 @@ class Battery(BaseModel): class Config: extra = Extra.allow - is_charging: bool - percentage: float - last_updated: LastUpdated = Field(..., description="Last updated") + is_charging: Optional[bool] = None + percentage: Optional[float] = None + last_updated: Optional[LastUpdated] = Field(None, description="Last updated") diff --git a/shared/systembridgeshared/models/cpu.py b/shared/systembridgeshared/models/cpu.py index 667fdc3c5..f963e3ce4 100644 --- a/shared/systembridgeshared/models/cpu.py +++ b/shared/systembridgeshared/models/cpu.py @@ -3,6 +3,8 @@ from __future__ import annotations +from typing import Optional + from pydantic import BaseModel, Extra, Field @@ -27,15 +29,15 @@ class Config: times_user: float times_system: float times_idle: float - times_interrupt: float - times_dpc: float + times_interrupt: Optional[float] = None + times_dpc: Optional[float] = None times_percent_user: float times_percent_system: float times_percent_idle: float - times_percent_interrupt: float - times_percent_dpc: float + times_percent_interrupt: Optional[float] = None + times_percent_dpc: Optional[float] = None usage: float - voltage: float + voltage: Optional[float] = None class Cpu(BaseModel): @@ -59,13 +61,13 @@ class Config: times_user: float times_system: float times_idle: float - times_interrupt: float - times_dpc: float + times_interrupt: Optional[float] = None + times_dpc: Optional[float] = None times_percent_user: float times_percent_system: float times_percent_idle: float - times_percent_interrupt: float - times_percent_dpc: float + times_percent_interrupt: Optional[float] = None + times_percent_dpc: Optional[float] = None usage: float - voltage: float + voltage: Optional[float] = None last_updated: LastUpdated = Field(..., description="Last updated") diff --git a/shared/systembridgeshared/models/system.py b/shared/systembridgeshared/models/system.py index 486f7c26b..ebd6e4873 100644 --- a/shared/systembridgeshared/models/system.py +++ b/shared/systembridgeshared/models/system.py @@ -3,6 +3,8 @@ from __future__ import annotations +from typing import Optional + from pydantic import BaseModel, Field @@ -21,8 +23,8 @@ class LastUpdated(BaseModel): uptime: float uuid: float version: float - version_latest: float - version_newer_available: float + version_latest: Optional[float] = None + version_newer_available: Optional[float] = None class System(BaseModel): @@ -40,6 +42,6 @@ class System(BaseModel): uptime: float uuid: str version: str - version_latest: str - version_newer_available: bool + version_latest: Optional[str] = None + version_newer_available: Optional[bool] = None last_updated: LastUpdated = Field(..., description="Last updated") diff --git a/windowssensors/systembridgewindowssensors/_version.py b/windowssensors/systembridgewindowssensors/_version.py index 31c0e44a6..5ba50482b 100644 --- a/windowssensors/systembridgewindowssensors/_version.py +++ b/windowssensors/systembridgewindowssensors/_version.py @@ -7,5 +7,5 @@ from incremental import Version -__version__ = Version("systembridgewindowssensors", 3, 1, 5, dev=0) +__version__ = Version("systembridgewindowssensors", 3, 1, 6, dev=0) __all__ = ["__version__"]