Mobilizon-Reshare-condividi.../mobilizon_reshare/config/notifiers.py

34 lines
928 B
Python
Raw Normal View History

2021-05-09 17:22:14 +02:00
from dynaconf import Validator
telegram_validators = [
Validator("notifier.telegram.chat_id", must_exist=True),
Validator("notifier.telegram.token", must_exist=True),
Validator("notifier.telegram.username", must_exist=True),
]
2021-05-09 17:22:14 +02:00
zulip_validators = []
mastodon_validators = []
twitter_validators = []
notifier_name_to_validators = {
"telegram": telegram_validators,
"twitter": twitter_validators,
"mastodon": mastodon_validators,
"zulip": zulip_validators,
}
notifier_names = notifier_name_to_validators.keys()
def get_active_notifiers(settings):
return filter(
lambda notifier_name: settings["notifier"][notifier_name]["active"],
notifier_names,
)
def get_validators(settings):
active_notifiers = get_active_notifiers(settings)
validators = []
for notifier in active_notifiers:
validators += notifier_name_to_validators[notifier]
return validators