1
0

__init__.py 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import json
  2. conf = dict()
  3. def configure(conf_file: str, encoding="utf-8"):
  4. """ 运行配置程序, 该函数需要在其他模块被执行前调用 """
  5. with open(conf_file, mode="r", encoding=encoding) as f:
  6. json_str = f.read()
  7. _conf: dict = json.loads(json_str)
  8. _mysql = _conf["mysql"]
  9. conf["mysql_url"] = str(_mysql["url"])
  10. conf["mysql_name"] = str(_mysql["name"])
  11. conf["mysql_passwd"] = str(_mysql["passwd"])
  12. conf["mysql_port"] = int(_mysql.get("port", 3306))
  13. _email = _conf["email"]
  14. conf["email_server"] = str(_email["server"])
  15. conf["email_port"] = int(_email["port"])
  16. conf["email_tls"] = bool(_email.get("tls", False))
  17. conf["email_ssl"] = bool(_email.get("ssl", False))
  18. conf["email_name"] = str(_email["name"])
  19. conf["email_passwd"] = str(_email["passwd"])
  20. conf["email_prefix"] = str(_email.get("prefix", "[HBlog]"))
  21. conf["email_sender"] = str(_email["sender"])
  22. conf["secret-key"] = str(_conf.get("secret-key", "HBlog-R-Salt"))
  23. conf["server-name"] = _conf.get("server-name")
  24. introduce = _conf["info"]["introduce"]
  25. introduce_list = []
  26. for i in introduce:
  27. describe: str = introduce[i]
  28. describe = " ".join([f"<p>{i}</p>" for i in describe.split('\n')])
  29. introduce_list.append((i, describe))
  30. conf["describe-link"] = _conf["info"]["link"]
  31. conf["describe-info"] = introduce_list
  32. conf["blog-name"] = _conf["info"]["blog-name"]
  33. conf["blog-describe"] = _conf["info"]["blog-describe"]
  34. conf["about-me-name"] = _conf["info"]["about-me"]["name"]
  35. conf["about-me-describe"] = _conf["info"]["about-me"]["describe"]
  36. conf["about-me-project"] = _conf["info"]["project"]
  37. conf["about-me-skill"] = _conf["info"]["skill"]
  38. conf["about-me-read"] = _conf["info"]["read"]
  39. conf["foot-info"] = f'{_conf["info"]["foot-info"]} Power by HBlog'
  40. aliyun = _conf.get("aliyun")
  41. if aliyun is None:
  42. conf["aliyun"] = False
  43. else:
  44. conf["aliyun"] = True
  45. conf["aliyun-key"] = aliyun["Key"]
  46. conf["aliyun-secret"] = aliyun["Secret"]
  47. conf["aliyun-bucket-endpoint"] = aliyun["Bucket-Endpoint"]
  48. conf["aliyun-bucket-name"] = aliyun["Bucket-Name"]