forked from DGNum/uptime-kuma-api
improve notification type conversion
This commit is contained in:
parent
d29d908b61
commit
b92263dd47
9 changed files with 365 additions and 172 deletions
40
scripts/build_params_map_notification_provider_options.py
Normal file
40
scripts/build_params_map_notification_provider_options.py
Normal file
|
@ -0,0 +1,40 @@
|
|||
import re
|
||||
import os
|
||||
import jinja2
|
||||
|
||||
from uptime_kuma_api import params_map_notification_providers, notification_provider_options
|
||||
|
||||
|
||||
def build_notification_provider_map():
|
||||
params_map_notification_provider_options = {}
|
||||
|
||||
for provider_sock, provider_py in params_map_notification_providers.items():
|
||||
options_sock = notification_provider_options[provider_sock]
|
||||
|
||||
params_map_notification_provider_options[provider_py] = {}
|
||||
for option in options_sock:
|
||||
option_orig = option
|
||||
|
||||
# for example for rocket_chat
|
||||
prefix = os.path.commonprefix([o.lower() for o in options_sock] + [provider_py])
|
||||
option = option[len(prefix):]
|
||||
|
||||
option = re.sub('([A-Z]+)', r'_\1', option).lower()
|
||||
|
||||
# for example for smtp
|
||||
if option.startswith(provider_py):
|
||||
option = option[len(provider_py):]
|
||||
|
||||
option = provider_py + "_" + option
|
||||
option = option.replace("__", "_")
|
||||
|
||||
params_map_notification_provider_options[provider_py][option_orig] = option
|
||||
return params_map_notification_provider_options
|
||||
|
||||
|
||||
notification_provider_map = build_notification_provider_map()
|
||||
|
||||
env = jinja2.Environment(loader=jinja2.FileSystemLoader("./"))
|
||||
template = env.get_template("build_params_map_notification_provider_options.j2")
|
||||
rendered = template.render(notification_provider_map=notification_provider_map)
|
||||
print(rendered)
|
Loading…
Add table
Add a link
Reference in a new issue