multiple fixes

This commit is contained in:
Evgeny Zinoviev 2023-09-17 04:38:12 +03:00
parent 44aad914a3
commit a32e4a1629
5 changed files with 12 additions and 8 deletions

View File

@ -10,6 +10,7 @@ from argparse import ArgumentParser
from enum import Enum, auto
from os.path import join, isdir, isfile
from ..util import Addr
from pprint import pprint
class MyValidator(cerberus.Validator):
@ -140,7 +141,7 @@ class ConfigUnit(BaseConfigUnit):
schema['logging'] = {
'type': 'dict',
'schema': {
'logging': {'type': 'boolean'}
'verbose': {'type': 'boolean'}
}
}

View File

@ -1,7 +1,7 @@
import os
def get_data_root_directory(name: str) -> str:
def get_data_root_directory() -> str:
return os.path.join(
os.environ['HOME'],
'.config',

View File

@ -18,7 +18,7 @@ class SQLiteBase:
def __init__(self, name=None, path=None, check_same_thread=False):
if not path:
if not name:
name = config.app_config['database_name']
name = config.app_name
database_path = _get_database_path(name)
else:
database_path = path

View File

@ -266,7 +266,7 @@ class conversation:
return self.invoke(state, ctx)
return _invoke
def invoke(self, state, ctx: Context):
async def invoke(self, state, ctx: Context):
self._logger.debug(f'invoke, state={state}')
for item in dir(self):
f = getattr(self, item)

View File

@ -51,15 +51,15 @@ class TelegramBotConfig(ConfigUnit, ABC):
'type': 'dict',
'schema': {
'token': {'type': 'string', 'required': True},
TelegramUserListType.USERS: {**TelegramBotConfig._userlist_schema(), 'required': True},
TelegramUserListType.NOTIFY: TelegramBotConfig._userlist_schema(),
TelegramUserListType.USERS.value: {**TelegramBotConfig._userlist_schema(), 'required': True},
TelegramUserListType.NOTIFY.value: TelegramBotConfig._userlist_schema(),
}
}
}
@staticmethod
def _userlist_schema() -> dict:
return {'type': 'list', 'schema': {'type': ['string', 'int']}}
return {'type': 'list', 'schema': {'type': ['string', 'integer']}}
@staticmethod
def custom_validator(data):
@ -72,4 +72,7 @@ class TelegramBotConfig(ConfigUnit, ABC):
def get_user_ids(self,
ult: TelegramUserListType = TelegramUserListType.USERS) -> list[int]:
try:
return list(map(_user_id_mapper, self['bot'][ult.value]))
except KeyError:
return []