__init__.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import json
  2. import logging
  3. import os
  4. conf = {
  5. "SECRET_KEY": "HBlog-R-Salt",
  6. "BLOG_NAME": "HBlog",
  7. "BLOG_DESCRIBE": "Huan Blog.",
  8. "FOOT": "Power by HBlog",
  9. "ABOUT_ME_NAME": "",
  10. "ABOUT_ME_DESCRIBE": "",
  11. "INTRODUCTION": "",
  12. "INTRODUCTION_LINK": "",
  13. "MYSQL_URL": "localhost",
  14. "MYSQL_NAME": "local",
  15. "MYSQL_PASSWD": "123456",
  16. "MYSQL_PORT": 3306,
  17. "MAIL_SERVER": "",
  18. "MAIL_PORT": "",
  19. "MAIL_TLS": False,
  20. "MAIL_SSL": False,
  21. "MAIL_PASSWD": "",
  22. "MAIL_PREFIX": "",
  23. "MAIL_SENDER": "",
  24. "USE_ALIYUN": False,
  25. "ALIYUN_KET": "",
  26. "ALIYUN_SECRET": "",
  27. "ALIYUN_BUCKET_ENDPOINT": "",
  28. "ALIYUN_BUCKET_NAME": "",
  29. "LOG_HOME": "",
  30. "LOG_FORMAT": "[%(levelname)s]:%(name)s:%(asctime)s "
  31. "(%(filename)s:%(lineno)d %(funcName)s) "
  32. "%(process)d %(thread)d "
  33. "%(message)s",
  34. "LOG_LEVEL": logging.INFO,
  35. "LOG_STDERR": True,
  36. }
  37. def configure(conf_file: str, encoding="utf-8"):
  38. """ 运行配置程序, 该函数需要在其他模块被执行前调用 """
  39. with open(conf_file, mode="r", encoding=encoding) as f:
  40. json_str = f.read()
  41. conf.update(json.loads(json_str))
  42. if type(conf["LOG_LEVEL"]) is str:
  43. conf["LOG_LEVEL"] = {"debug": logging.DEBUG,
  44. "info": logging.INFO,
  45. "warning": logging.WARNING,
  46. "error": logging.ERROR}.get(conf["LOG_LEVEL"])
  47. introduce = conf["INTRODUCE"]
  48. introduce_list = []
  49. for i in introduce:
  50. describe: str = introduce[i]
  51. describe = " ".join([f"<p>{i}</p>" for i in describe.split('\n')])
  52. introduce_list.append((i, describe))
  53. conf["INTRODUCE"] = introduce_list