mirror of
https://github.com/chatmail/core.git
synced 2026-05-17 05:46:30 +03:00
skip providers without data, cleanup
This commit is contained in:
@@ -32,10 +32,7 @@ def file2url(f):
|
|||||||
|
|
||||||
def process_data(data, file):
|
def process_data(data, file):
|
||||||
status = data.get("status", "")
|
status = data.get("status", "")
|
||||||
out_provider = " static ref " + file2varname(file) + ": Provider = Provider {\n"
|
if status != "OK" and status != "PREPARATION" and status != "BROKEN":
|
||||||
if status == "OK" or status == "PREPARATION" or status == "BROKEN":
|
|
||||||
out_provider += " status: Status::" + status + ",\n"
|
|
||||||
else:
|
|
||||||
raise TypeError("bad status")
|
raise TypeError("bad status")
|
||||||
|
|
||||||
comment = ""
|
comment = ""
|
||||||
@@ -49,7 +46,7 @@ def process_data(data, file):
|
|||||||
domains += " (\"" + domain + "\", &*" + file2varname(file) + "),\n"
|
domains += " (\"" + domain + "\", &*" + file2varname(file) + "),\n"
|
||||||
comment += domain + ", "
|
comment += domain + ", "
|
||||||
|
|
||||||
out_server = ""
|
server = ""
|
||||||
has_imap = False
|
has_imap = False
|
||||||
has_smtp = False
|
has_smtp = False
|
||||||
if "server" in data:
|
if "server" in data:
|
||||||
@@ -75,27 +72,34 @@ def process_data(data, file):
|
|||||||
if username_pattern != "EMAIL" and username_pattern != "EMAILLOCALPART":
|
if username_pattern != "EMAIL" and username_pattern != "EMAILLOCALPART":
|
||||||
raise TypeError("bad username pattern")
|
raise TypeError("bad username pattern")
|
||||||
|
|
||||||
out_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")
|
||||||
|
|
||||||
|
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", ""))
|
||||||
if (not has_imap and not has_smtp) or (has_imap and has_smtp):
|
if (not has_imap and not has_smtp) or (has_imap and has_smtp):
|
||||||
out_provider += " before_login_hint: \"" + before_login_hint + "\",\n"
|
provider += " static ref " + file2varname(file) + ": Provider = Provider {\n"
|
||||||
out_provider += " after_login_hint: \"" + after_login_hint + "\",\n"
|
provider += " status: Status::" + status + ",\n"
|
||||||
out_provider += " overview_page: \"" + file2url(file) + "\",\n"
|
provider += " before_login_hint: \"" + before_login_hint + "\",\n"
|
||||||
out_provider += " server: vec![\n" + out_server + " ],\n"
|
provider += " after_login_hint: \"" + after_login_hint + "\",\n"
|
||||||
out_provider += " };\n\n"
|
provider += " overview_page: \"" + file2url(file) + "\",\n"
|
||||||
|
provider += " server: vec![\n" + server + " ],\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")
|
||||||
|
|
||||||
if status != "OK" and before_login_hint == "":
|
if status != "OK" and before_login_hint == "":
|
||||||
raise TypeError("status PREPARATION or BROKEN requires before_login_hint: " + file)
|
raise TypeError("status PREPARATION or BROKEN requires before_login_hint: " + file)
|
||||||
|
|
||||||
|
# finally, add the provider
|
||||||
global out_all, out_domains
|
global out_all, out_domains
|
||||||
out_all += " // " + file[file.rindex("/")+1:] + ": " + comment.strip(", ") + "\n"
|
out_all += " // " + file[file.rindex("/")+1:] + ": " + comment.strip(", ") + "\n"
|
||||||
out_all += out_provider
|
if status == "OK" and before_login_hint == "" and after_login_hint == "" and server == "":
|
||||||
out_domains += domains
|
out_all += " // - skipping provider with status OK and no special things to do\n\n"
|
||||||
|
else:
|
||||||
|
out_all += provider
|
||||||
|
out_domains += domains
|
||||||
|
|
||||||
|
|
||||||
def process_file(file):
|
def process_file(file):
|
||||||
|
|||||||
Reference in New Issue
Block a user