aboutsummaryrefslogtreecommitdiff
path: root/include/py/homekit/modem/config.py
blob: 16d1ba0e825f68cc1620fab6ac7bf545dffa2282 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from ..config import ConfigUnit, Translation
from typing import Optional


class ModemsConfig(ConfigUnit):
    NAME = 'modems'

    _strings: Translation

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self._strings = Translation('modems')

    @classmethod
    def schema(cls) -> Optional[dict]:
        return {
            'type': 'dict',
            'schema': {
                'ip': cls._addr_schema(required=True, only_ip=True),
                'gateway_ip': cls._addr_schema(required=False, only_ip=True),
                'legacy_auth': {'type': 'boolean', 'required': True}
            }
        }

    def getshortname(self, modem: str, lang=Translation.DEFAULT_LANGUAGE):
        return self._strings.get(lang)[modem]['short']

    def getfullname(self, modem: str, lang=Translation.DEFAULT_LANGUAGE):
        return self._strings.get(lang)[modem]['full']