Skip to content

Commit 9c56a3a

Browse files
committed
more typehints
1 parent e949393 commit 9c56a3a

File tree

2 files changed

+29
-33
lines changed

2 files changed

+29
-33
lines changed

custom_components/hasl3/__init__.py

Lines changed: 26 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,26 @@
11
import logging
22

3-
from homeassistant.components.sensor import DOMAIN as SENSOR_DOMAIN
4-
from homeassistant.config_entries import ConfigEntry
5-
from homeassistant.core import HomeAssistant, callback
6-
73
from custom_components.hasl3.haslworker import HaslWorker
84
from custom_components.hasl3.rrapi import rrapi_sl
95
from custom_components.hasl3.slapi import slapi_pu1, slapi_rp3
106

7+
from homeassistant.components.sensor import DOMAIN as SENSOR_DOMAIN
8+
from homeassistant.config_entries import ConfigEntry
9+
from homeassistant.core import Event, HomeAssistant, ServiceCall
10+
1111
from .const import (
12+
CONF_INTEGRATION_ID,
1213
CONF_INTEGRATION_TYPE,
1314
DOMAIN,
1415
SCHEMA_VERSION,
1516
SENSOR_ROUTE,
1617
SENSOR_VEHICLE_LOCATION,
17-
CONF_INTEGRATION_ID,
1818
)
1919

2020
logger = logging.getLogger(f"custom_components.{DOMAIN}.core")
2121
serviceLogger = logging.getLogger(f"custom_components.{DOMAIN}.services")
2222

23+
EventOrService = Event | ServiceCall
2324

2425
async def async_setup(hass: HomeAssistant, config: ConfigEntry):
2526
"""Set up HASL integration"""
@@ -38,8 +39,7 @@ async def async_setup(hass: HomeAssistant, config: ConfigEntry):
3839
return False
3940

4041
# SERVICE FUNCTIONS
41-
@callback
42-
async def sl_find_location(service):
42+
async def sl_find_location(service: EventOrService):
4343
serviceLogger.debug("[sl_find_location] Entered")
4444
search_string = service.data.get("search_string")
4545
api_key = service.data.get("api_key")
@@ -60,7 +60,7 @@ async def sl_find_location(service):
6060
"result": requestResult,
6161
},
6262
)
63-
return True
63+
6464
except Exception as e:
6565
serviceLogger.debug("[sl_find_location] Lookup failed")
6666
hass.bus.fire(
@@ -71,10 +71,8 @@ async def sl_find_location(service):
7171
"result": f"Exception occured during execution: {str(e)}",
7272
},
7373
)
74-
return True
7574

76-
@callback
77-
async def rr_find_location(service):
75+
async def rr_find_location(service: EventOrService):
7876
serviceLogger.debug("[rr_find_location] Entered")
7977
search_string = service.data.get("search_string")
8078
api_key = service.data.get("api_key")
@@ -95,7 +93,7 @@ async def rr_find_location(service):
9593
"result": requestResult,
9694
},
9795
)
98-
return True
96+
9997
except Exception as e:
10098
serviceLogger.debug("[rr_find_location] Lookup failed")
10199
hass.bus.fire(
@@ -106,10 +104,9 @@ async def rr_find_location(service):
106104
"result": f"Exception occured during execution: {str(e)}",
107105
},
108106
)
109-
return True
110107

111-
@callback
112-
async def sl_find_trip_id(service):
108+
109+
async def sl_find_trip_id(service: EventOrService):
113110
serviceLogger.debug("[sl_find_trip_id] Entered")
114111
origin = service.data.get("org")
115112
destination = service.data.get("dest")
@@ -129,7 +126,7 @@ async def sl_find_trip_id(service):
129126
"result": requestResult,
130127
},
131128
)
132-
return True
129+
133130
except Exception as e:
134131
serviceLogger.debug("[sl_find_trip_id] Lookup failed")
135132
hass.bus.fire(
@@ -140,10 +137,9 @@ async def sl_find_trip_id(service):
140137
"result": f"Exception occured during execution: {str(e)}",
141138
},
142139
)
143-
return True
144140

145-
@callback
146-
async def sl_find_trip_pos(service):
141+
142+
async def sl_find_trip_pos(service: EventOrService):
147143
serviceLogger.debug("[sl_find_trip_pos] Entered")
148144
olat = service.data.get("orig_lat")
149145
olon = service.data.get("orig_long")
@@ -167,7 +163,7 @@ async def sl_find_trip_pos(service):
167163
"result": requestResult,
168164
},
169165
)
170-
return True
166+
171167
except Exception as e:
172168
serviceLogger.debug("[sl_find_trip_pos] Lookup failed")
173169
hass.bus.fire(
@@ -178,30 +174,29 @@ async def sl_find_trip_pos(service):
178174
"result": f"Exception occured during execution: {str(e)}",
179175
},
180176
)
181-
return True
182177

183-
@callback
184-
async def eventListener(service):
178+
179+
async def eventListener(service: Event):
185180
serviceLogger.debug("[eventListener] Entered")
186181

187182
command = service.data.get("cmd")
188183

189184
if command == "sl_find_location":
190-
sl_find_location(service)
185+
hass.async_add_job(sl_find_location(service))
191186
serviceLogger.debug("[eventListener] Dispatched to sl_find_location")
192-
return True
187+
193188
if command == "rr_find_location":
194-
rr_find_location(service)
189+
hass.async_add_job(rr_find_location(service))
195190
serviceLogger.debug("[eventListener] Dispatched to rr_find_location")
196-
return True
191+
197192
if command == "sl_find_trip_pos":
198-
sl_find_trip_pos(service)
193+
hass.async_add_job(sl_find_trip_pos(service))
199194
serviceLogger.debug("[eventListener] Dispatched to sl_find_trip_pos")
200-
return True
195+
201196
if command == "sl_find_trip_id":
202-
sl_find_trip_id(service)
197+
hass.async_add_job(sl_find_trip_id(service))
203198
serviceLogger.debug("[eventListener] Dispatched to sl_find_trip_id")
204-
return True
199+
205200

206201
logger.debug("[setup] Registering services")
207202
try:

custom_components/hasl3/sensor.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
)
5151
from .sensors.departure import async_setup_entry as setup_departure_sensor
5252
from .sensors.status import async_setup_entry as setup_status_sensor
53+
from .haslworker import HaslWorker
5354

5455
logger = logging.getLogger(f"custom_components.{DOMAIN}.sensors")
5556

@@ -80,7 +81,7 @@ async def setup_hasl_sensor(hass: HomeAssistant, config: ConfigEntry, async_add_
8081
logger.debug("[setup_hasl_sensor] Entered")
8182

8283
sensors = []
83-
worker = hass.data[DOMAIN]["worker"]
84+
worker: HaslWorker = hass.data[DOMAIN]["worker"]
8485

8586
try:
8687
logger.debug("[setup_hasl_sensor] Setting up RP3 sensors..")
@@ -226,7 +227,7 @@ def __init__(self, hass, config, trip):
226227
self._name = f"SL {self._trip} Route Sensor ({self._config.title})"
227228
self._sensordata = []
228229
self._scan_interval = self._config.options[CONF_SCAN_INTERVAL] or 300
229-
self._worker = hass.data[DOMAIN]["worker"]
230+
self._worker: HaslWorker = hass.data[DOMAIN]["worker"]
230231

231232
async def async_update(self):
232233
"""Update the sensor."""

0 commit comments

Comments
 (0)