config: use get_addr() instead of parse_addr(config[...])

This commit is contained in:
Evgeny Zinoviev 2023-01-04 03:44:07 +03:00
parent 00de2339b4
commit d549f428cb
9 changed files with 16 additions and 19 deletions

View File

@ -5,7 +5,7 @@ import time
from home.config import config from home.config import config
from home.media import MediaNodeServer, ESP32CameraRecordStorage, CameraRecorder from home.media import MediaNodeServer, ESP32CameraRecordStorage, CameraRecorder
from home.camera import CameraType, esp32 from home.camera import CameraType, esp32
from home.util import parse_addr, Addr from home.util import Addr
from home import http from home import http
@ -69,7 +69,7 @@ if __name__ == '__main__':
recorder_kwargs = {} recorder_kwargs = {}
camera_type = CameraType(config['camera']['type']) camera_type = CameraType(config['camera']['type'])
if camera_type == CameraType.ESP32: if camera_type == CameraType.ESP32:
recorder_kwargs['stream_addr'] = parse_addr(config['camera']['web_addr']) # this is not a mistake, we don't use stream_addr for esp32-cam anymore recorder_kwargs['stream_addr'] = config.get_addr('camera.web_addr') # this is not a mistake, we don't use stream_addr for esp32-cam anymore
storage = ESP32CameraRecordStorage(config['node']['storage']) storage = ESP32CameraRecordStorage(config['node']['storage'])
else: else:
raise RuntimeError(f'unsupported camera type {camera_type}') raise RuntimeError(f'unsupported camera type {camera_type}')
@ -82,6 +82,6 @@ if __name__ == '__main__':
server = ESP32CameraNodeServer( server = ESP32CameraNodeServer(
recorder=recorder, recorder=recorder,
storage=storage, storage=storage,
web_addr=parse_addr(config['camera']['web_addr']), web_addr=config.get_addr('camera.web_addr'),
addr=parse_addr(config['node']['listen'])) addr=config.get_addr('node.listen'))
server.run() server.run()

View File

@ -4,7 +4,6 @@ import os
import sys import sys
from home.config import config from home.config import config
from home.util import parse_addr
from home.relay.sunxi_h3_server import RelayServer from home.relay.sunxi_h3_server import RelayServer
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -17,8 +16,8 @@ if __name__ == '__main__':
config.load() config.load()
try: try:
s = RelayServer(pinname=config['relayd']['pin'], s = RelayServer(pinname=config.get('relayd.pin'),
addr=parse_addr(config['relayd']['listen'])) addr=config.get_addr('relayd.listen'))
s.run() s.run()
except KeyboardInterrupt: except KeyboardInterrupt:
logger.info('Exiting...') logger.info('Exiting...')

View File

@ -6,6 +6,7 @@ import os
from os.path import join, isdir, isfile from os.path import join, isdir, isfile
from typing import Optional, Any, MutableMapping from typing import Optional, Any, MutableMapping
from argparse import ArgumentParser from argparse import ArgumentParser
from ..util import parse_addr
def _get_config_path(name: str) -> str: def _get_config_path(name: str) -> str:
@ -118,6 +119,9 @@ class ConfigStore:
cur = self.data[k] cur = self.data[k]
raise KeyError(f'option {key} not found') raise KeyError(f'option {key} not found')
def get_addr(self, key: str):
return parse_addr(self.get(key))
def items(self): def items(self):
return self.data.items() return self.data.items()

View File

@ -10,7 +10,6 @@ import home.telegram.aio as telegram
from apscheduler.schedulers.asyncio import AsyncIOScheduler from apscheduler.schedulers.asyncio import AsyncIOScheduler
from home.config import config from home.config import config
from home.util import parse_addr
from home import http from home import http
from home.database.sqlite import SQLiteBase from home.database.sqlite import SQLiteBase
from home.camera import util as camutil from home.camera import util as camutil
@ -507,5 +506,5 @@ if __name__ == '__main__':
except KeyError: except KeyError:
pass pass
server = IPCamWebServer(parse_addr(config['server']['listen'])) server = IPCamWebServer(config.get_addr('server.listen'))
server.run() server.run()

View File

@ -5,7 +5,6 @@ from home.mqtt import MQTTRelay, MQTTRelayDevice, MQTTRelayState
from home.mqtt.payload import MQTTPayload from home.mqtt.payload import MQTTPayload
from home.mqtt.payload.relay import InitialStatPayload, StatPayload from home.mqtt.payload.relay import InitialStatPayload, StatPayload
from typing import Optional from typing import Optional
from home.util import parse_addr
mqtt_relay: Optional[MQTTRelay] = None mqtt_relay: Optional[MQTTRelay] = None
relay_states: dict[str, MQTTRelayState] = {} relay_states: dict[str, MQTTRelayState] = {}
@ -60,9 +59,8 @@ if __name__ == '__main__':
mqtt_relay.set_message_callback(on_mqtt_message) mqtt_relay.set_message_callback(on_mqtt_message)
mqtt_relay.connect_and_loop(loop_forever=False) mqtt_relay.connect_and_loop(loop_forever=False)
proxy = RelayMqttHttpProxy(parse_addr(config.get('server.listen'))) proxy = RelayMqttHttpProxy(config.get_addr('server.listen'))
try: try:
proxy.run() proxy.run()
except KeyboardInterrupt: except KeyboardInterrupt:
mqtt_relay.disconnect() mqtt_relay.disconnect()

View File

@ -3,7 +3,6 @@ import os
from typing import Optional from typing import Optional
from home.util import parse_addr
from home.config import config from home.config import config
from home.audio import amixer from home.audio import amixer
from home.media import MediaNodeServer, SoundRecordStorage, SoundRecorder from home.media import MediaNodeServer, SoundRecordStorage, SoundRecorder
@ -87,5 +86,5 @@ if __name__ == '__main__':
server = SoundNodeServer(recorder=recorder, server = SoundNodeServer(recorder=recorder,
storage=storage, storage=storage,
addr=parse_addr(config['node']['listen'])) addr=config.get_addr('node.listen'))
server.run() server.run()

View File

@ -190,7 +190,7 @@ if __name__ == '__main__':
finished_handler=partial(record_finished, MediaNodeType.CAMERA)) finished_handler=partial(record_finished, MediaNodeType.CAMERA))
try: try:
server = SoundSensorServer(parse_addr(config['server']['listen']), HitHandler) server = SoundSensorServer(config.get_addr('server.listen'), HitHandler)
server.run() server.run()
except KeyboardInterrupt: except KeyboardInterrupt:
interrupted = True interrupted = True

View File

@ -6,7 +6,6 @@ import logging
from typing import Optional from typing import Optional
from home.config import config from home.config import config
from home.util import parse_addr
from home.temphum import SensorType, create_sensor, TempHumSensor from home.temphum import SensorType, create_sensor, TempHumSensor
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -72,7 +71,7 @@ if __name__ == '__main__':
int(config['sensor']['bus'])) int(config['sensor']['bus']))
try: try:
host, port = parse_addr(config['server']['listen']) host, port = config.get_addr('server.listen')
asyncio.run(run_server(host, port)) asyncio.run(run_server(host, port))
except KeyboardInterrupt: except KeyboardInterrupt:
logging.info('Exiting...') logging.info('Exiting...')

View File

@ -7,7 +7,6 @@ from datetime import datetime, timedelta
from aiohttp import web from aiohttp import web
from home import http from home import http
from home.util import parse_addr
from home.config import config, is_development_mode from home.config import config, is_development_mode
from home.database import BotsDatabase, SensorsDatabase, InverterDatabase from home.database import BotsDatabase, SensorsDatabase, InverterDatabase
from home.database.inverter_time_formats import * from home.database.inverter_time_formats import *
@ -234,5 +233,5 @@ if __name__ == '__main__':
loop = asyncio.get_event_loop() loop = asyncio.get_event_loop()
server = WebAPIServer(parse_addr(config['server']['listen'])) server = WebAPIServer(config.get_addr('server.listen'))
server.run() server.run()