__init__.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. introduce = _conf["info"]["introduce"]
  24. introduce_list = []
  25. for i in introduce:
  26. describe: str = introduce[i]
  27. describe = " ".join([f"<p>{i}</p>" for i in describe.split('\n')])
  28. introduce_list.append((i, describe))
  29. conf["describe-link"] = _conf["info"]["link"]
  30. conf["describe-info"] = introduce_list
  31. conf["blog-name"] = _conf["info"]["blog-name"]
  32. conf["blog-describe"] = _conf["info"]["blog-describe"]
  33. conf["about-me-name"] = _conf["info"]["about-me"]["name"]
  34. conf["about-me-describe"] = _conf["info"]["about-me"]["describe"]
  35. conf["about-me-project"] = _conf["info"]["project"]
  36. conf["about-me-skill"] = _conf["info"]["skill"]
  37. conf["about-me-read"] = _conf["info"]["read"]
  38. conf["foot-info"] = f'{_conf["info"]["foot-info"]} Power by HBlog'
  39. aliyun = _conf.get("aliyun")
  40. if aliyun is None:
  41. conf["aliyun"] = False
  42. else:
  43. conf["aliyun"] = True
  44. conf["aliyun-key"] = aliyun["Key"]
  45. conf["aliyun-secret"] = aliyun["Secret"]
  46. conf["aliyun-bucket-endpoint"] = aliyun["Bucket-Endpoint"]
  47. conf["aliyun-bucket-name"] = aliyun["Bucket-Name"]