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.media import MediaNodeServer, ESP32CameraRecordStorage, CameraRecorder
from home.camera import CameraType, esp32
from home.util import parse_addr, Addr
from home.util import Addr
from home import http
@ -69,7 +69,7 @@ if __name__ == '__main__':
recorder_kwargs = {}
camera_type = CameraType(config['camera']['type'])
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'])
else:
raise RuntimeError(f'unsupported camera type {camera_type}')
@ -82,6 +82,6 @@ if __name__ == '__main__':
server = ESP32CameraNodeServer(
recorder=recorder,
storage=storage,
web_addr=parse_addr(config['camera']['web_addr']),
addr=parse_addr(config['node']['listen']))
web_addr=config.get_addr('camera.web_addr'),
addr=config.get_addr('node.listen'))
server.run()

View File

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

View File

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

View File

@ -10,7 +10,6 @@ import home.telegram.aio as telegram
from apscheduler.schedulers.asyncio import AsyncIOScheduler
from home.config import config
from home.util import parse_addr
from home import http
from home.database.sqlite import SQLiteBase
from home.camera import util as camutil
@ -507,5 +506,5 @@ if __name__ == '__main__':
except KeyError:
pass
server = IPCamWebServer(parse_addr(config['server']['listen']))
server = IPCamWebServer(config.get_addr('server.listen'))
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.relay import InitialStatPayload, StatPayload
from typing import Optional
from home.util import parse_addr
mqtt_relay: Optional[MQTTRelay] = None
relay_states: dict[str, MQTTRelayState] = {}
@ -60,9 +59,8 @@ if __name__ == '__main__':
mqtt_relay.set_message_callback(on_mqtt_message)
mqtt_relay.connect_and_loop(loop_forever=False)
proxy = RelayMqttHttpProxy(parse_addr(config.get('server.listen')))
proxy = RelayMqttHttpProxy(config.get_addr('server.listen'))
try:
proxy.run()
except KeyboardInterrupt:
mqtt_relay.disconnect()

View File

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

View File

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

View File

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

View File

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