mirror of
https://github.com/chatmail/core.git
synced 2026-05-13 11:56:30 +03:00
adapt provider/update.py so that it generates config_defaults
This commit is contained in:
@@ -9,6 +9,9 @@ out_all = ""
|
|||||||
out_domains = ""
|
out_domains = ""
|
||||||
domains_dict = {}
|
domains_dict = {}
|
||||||
|
|
||||||
|
def camel(name):
|
||||||
|
words = name.split("_")
|
||||||
|
return "".join(w.capitalize() for i, w in enumerate(words))
|
||||||
|
|
||||||
def cleanstr(s):
|
def cleanstr(s):
|
||||||
s = s.strip()
|
s = s.strip()
|
||||||
@@ -31,6 +34,18 @@ def file2url(f):
|
|||||||
return "https://providers.delta.chat/" + f
|
return "https://providers.delta.chat/" + f
|
||||||
|
|
||||||
|
|
||||||
|
def process_config_defaults(data):
|
||||||
|
if not "config_defaults" in data:
|
||||||
|
return "None"
|
||||||
|
defaults = "Some(vec![\n"
|
||||||
|
config_defaults = data.get("config_defaults", "")
|
||||||
|
for key in config_defaults:
|
||||||
|
value = str(config_defaults[key])
|
||||||
|
defaults += " ConfigDefault { key: Config::" + camel(key) + ", value: \"" + value + "\" },\n"
|
||||||
|
defaults += " ])"
|
||||||
|
return defaults
|
||||||
|
|
||||||
|
|
||||||
def process_data(data, file):
|
def process_data(data, file):
|
||||||
status = data.get("status", "")
|
status = data.get("status", "")
|
||||||
if status != "OK" and status != "PREPARATION" and status != "BROKEN":
|
if status != "OK" and status != "PREPARATION" and status != "BROKEN":
|
||||||
@@ -83,6 +98,8 @@ def process_data(data, file):
|
|||||||
server += (" Server { protocol: " + protocol + ", socket: " + socket + ", hostname: \""
|
server += (" Server { protocol: " + protocol + ", socket: " + socket + ", hostname: \""
|
||||||
+ hostname + "\", port: " + str(port) + ", username_pattern: " + username_pattern + " },\n")
|
+ hostname + "\", port: " + str(port) + ", username_pattern: " + username_pattern + " },\n")
|
||||||
|
|
||||||
|
config_defaults = process_config_defaults(data)
|
||||||
|
|
||||||
provider = ""
|
provider = ""
|
||||||
before_login_hint = cleanstr(data.get("before_login_hint", ""))
|
before_login_hint = cleanstr(data.get("before_login_hint", ""))
|
||||||
after_login_hint = cleanstr(data.get("after_login_hint", ""))
|
after_login_hint = cleanstr(data.get("after_login_hint", ""))
|
||||||
@@ -93,6 +110,7 @@ def process_data(data, file):
|
|||||||
provider += " after_login_hint: \"" + after_login_hint + "\",\n"
|
provider += " after_login_hint: \"" + after_login_hint + "\",\n"
|
||||||
provider += " overview_page: \"" + file2url(file) + "\",\n"
|
provider += " overview_page: \"" + file2url(file) + "\",\n"
|
||||||
provider += " server: vec![\n" + server + " ],\n"
|
provider += " server: vec![\n" + server + " ],\n"
|
||||||
|
provider += " config_defaults: " + config_defaults + ",\n"
|
||||||
provider += " };\n\n"
|
provider += " };\n\n"
|
||||||
else:
|
else:
|
||||||
raise TypeError("SMTP and IMAP must be specified together or left out both")
|
raise TypeError("SMTP and IMAP must be specified together or left out both")
|
||||||
|
|||||||
Reference in New Issue
Block a user