Autoformating and cleanup

This commit is contained in:
2022-07-13 23:12:15 +00:00
parent e4a65f3077
commit a3cd0c9fd6
10 changed files with 65 additions and 129 deletions

View File

@@ -644,7 +644,9 @@ const ConnectionMixin = (SuperClass) => {
constructor() {
super(...arguments);
this.connected = false;
this.connectionPromise = new Promise(resolve => { this._connectionResolve = resolve; });
this.connectionPromise = new Promise((resolve) => {
this._connectionResolve = resolve;
});
}
LOG(...args) {
const dt = new Date();
@@ -787,12 +789,13 @@ const ConnectionMixin = (SuperClass) => {
const oldID = localStorage[ID_STORAGE_KEY];
localStorage[ID_STORAGE_KEY] = id;
this.fireEvent("browser-mod-config-update");
if (((_a = this.devices) === null || _a === void 0 ? void 0 : _a[oldID]) !== undefined && ((_b = this.devices) === null || _b === void 0 ? void 0 : _b[this.deviceID]) === undefined) {
if (((_a = this.devices) === null || _a === void 0 ? void 0 : _a[oldID]) !== undefined &&
((_b = this.devices) === null || _b === void 0 ? void 0 : _b[this.deviceID]) === undefined) {
(async () => {
await this.connection.sendMessage({
type: "browser_mod/reregister",
deviceID: oldID,
data: Object.assign(Object.assign({}, this.devices[oldID]), { deviceID: this.deviceID })
data: Object.assign(Object.assign({}, this.devices[oldID]), { deviceID: this.deviceID }),
});
})();
}
@@ -808,7 +811,7 @@ const ScreenSaverMixin = (SuperClass) => {
super();
this._listeners = {};
this._brightness = 255;
const panel = this._panel = document.createElement("div");
const panel = (this._panel = document.createElement("div"));
panel.setAttribute("browser-mod", "");
panel.attachShadow({ mode: "open" });
const styleEl = document.createElement("style");
@@ -926,7 +929,7 @@ const MediaPlayerMixin = (SuperClass) => {
muted: this.player.muted,
src: this.player.src,
state,
}
},
});
}
};

View File

@@ -3,18 +3,21 @@ import voluptuous as vol
from datetime import datetime, timezone
from homeassistant.components.websocket_api import (
websocket_command,
result_message,
event_message,
async_register_command,
)
from homeassistant.components import websocket_api
from .const import WS_CONNECT, WS_REGISTER, WS_UNREGISTER, WS_REREGISTER, WS_UPDATE, DOMAIN
from .helpers import get_devices, create_entity, get_config, is_setup_complete
from .const import (
WS_CONNECT,
WS_REGISTER,
WS_UNREGISTER,
WS_REREGISTER,
WS_UPDATE,
DOMAIN,
)
from .coordinator import Coordinator
from .device import getDevice, deleteDevice
_LOGGER = logging.getLogger(__name__)
@@ -42,14 +45,11 @@ async def async_setup_connection(hass):
dev = getDevice(hass, deviceID)
dev.update_settings(hass, store.get_device(deviceID).asdict())
dev.connection = (connection, msg["id"])
await store.set_device(deviceID,
last_seen=datetime.now(
tz=timezone.utc
).isoformat()
)
await store.set_device(
deviceID, last_seen=datetime.now(tz=timezone.utc).isoformat()
)
listener(store.asdict())
@websocket_api.websocket_command(
{
vol.Required("type"): WS_REGISTER,
@@ -60,12 +60,9 @@ async def async_setup_connection(hass):
async def handle_register(hass, connection, msg):
deviceID = msg["deviceID"]
store = hass.data[DOMAIN]["store"]
await store.set_device(deviceID,
enabled=True
)
await store.set_device(deviceID, enabled=True)
connection.send_result(msg["id"])
@websocket_api.websocket_command(
{
vol.Required("type"): WS_UNREGISTER,
@@ -117,7 +114,6 @@ async def async_setup_connection(hass):
deviceSettings.update(data)
await store.set_device(deviceID, **deviceSettings)
@websocket_api.websocket_command(
{
vol.Required("type"): WS_UPDATE,
@@ -129,16 +125,14 @@ async def async_setup_connection(hass):
async def handle_update(hass, connection, msg):
deviceID = msg["deviceID"]
store = hass.data[DOMAIN]["store"]
devices = hass.data[DOMAIN]["devices"]
if store.get_device(deviceID).enabled:
dev = getDevice(hass, deviceID)
dev.data.update(msg.get("data", {}))
dev.coordinator.async_set_updated_data(dev.data)
async_register_command(hass, handle_connect)
async_register_command(hass, handle_register)
async_register_command(hass, handle_unregister)
async_register_command(hass, handle_reregister)
async_register_command(hass, handle_update)
async_register_command(hass, handle_update)

View File

@@ -1,11 +1,13 @@
import logging
from homeassistant.helpers.update_coordinator import (CoordinatorEntity, DataUpdateCoordinator, UpdateFailed)
from homeassistant.helpers.update_coordinator import (
DataUpdateCoordinator,
)
_LOGGER = logging.getLogger(__name__)
class Coordinator(DataUpdateCoordinator):
class Coordinator(DataUpdateCoordinator):
def __init__(self, hass, deviceID):
super().__init__(
hass,

View File

@@ -1,78 +1,15 @@
import logging
from homeassistant.helpers.entity import Entity, async_generate_entity_id
from homeassistant.helpers.update_coordinator import CoordinatorEntity
from .const import (
DOMAIN,
DATA_DEVICES,
DATA_ALIASES,
DATA_ADDERS,
CONFIG_DEVICES,
DATA_CONFIG,
CONFIG_PREFIX,
CONFIG_DISABLE,
CONFIG_DISABLE_ALL,
DATA_SETUP_COMPLETE,
)
from .coordinator import Coordinator
_LOGGER = logging.getLogger(__name__)
def get_devices(hass):
return hass.data[DOMAIN][DATA_DEVICES]
def get_alias(hass, deviceID):
for k, v in hass.data[DOMAIN][DATA_ALIASES].items():
if v == deviceID:
return k
return None
def get_config(hass, deviceID):
config = hass.data[DOMAIN][DATA_CONFIG].get(CONFIG_DEVICES, {})
return config.get(deviceID, config.get(deviceID.replace("-", "_"), {}))
def create_entity(hass, platform, deviceID, connection):
conf = get_config(hass, deviceID)
if conf and (
platform in conf.get(CONFIG_DISABLE, [])
or CONFIG_DISABLE_ALL in conf.get(CONFIG_DISABLE, [])
):
return None
if not conf and (
platform in hass.data[DOMAIN][DATA_CONFIG].get(CONFIG_DISABLE, [])
or CONFIG_DISABLE_ALL in hass.data[DOMAIN][DATA_CONFIG].get(CONFIG_DISABLE, [])
):
return None
adder = hass.data[DOMAIN][DATA_ADDERS].get(platform)
if not adder:
return None
entity = adder(hass, deviceID, connection, get_alias(hass, deviceID))
return entity
def setup_platform(hass, config, async_add_devices, platform, cls):
if platform in hass.data[DOMAIN][DATA_ADDERS]:
return True
def adder(hass, deviceID, connection, alias=None):
entity = cls(hass, connection, deviceID, alias)
async_add_devices([entity])
return entity
hass.data[DOMAIN][DATA_ADDERS][platform] = adder
return True
def is_setup_complete(hass):
return hass.data[DOMAIN][DATA_SETUP_COMPLETE]
class BrowserModEntity(CoordinatorEntity):
def __init__(self, coordinator, deviceID, name):
super().__init__(coordinator)

View File

@@ -1,6 +1,6 @@
from homeassistant.components.light import LightEntity, ColorMode
from .helpers import setup_platform, BrowserModEntity
from .helpers import BrowserModEntity
from .const import DOMAIN, DATA_ADDERS

View File

@@ -1,4 +1,3 @@
import logging
from homeassistant.components import media_source
from homeassistant.components.media_player import (
SUPPORT_PLAY,

View File

@@ -1,8 +1,5 @@
import logging
import attr
from dataclasses import dataclass
from homeassistant.loader import bind_hass
STORAGE_VERSION = 1
STORAGE_KEY = "browser_mod.storage"
@@ -71,8 +68,8 @@ class BrowserModStore:
async def updated(self):
self.dirty = True
for l in self.listeners:
l(attr.asdict(self.data))
for listener in self.listeners:
listener(attr.asdict(self.data))
await self.save()
def asdict(self):