__init__.py 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import json
  2. import logging
  3. import os
  4. conf = {
  5. "DEBUG_PROFILE": False,
  6. "SECRET_KEY": "HBlog-R-Salt",
  7. "BLOG_NAME": "HBlog",
  8. "BLOG_DESCRIBE": "Huan Blog.",
  9. "FOOT": "Power by HBlog",
  10. "ABOUT_ME_PAGE": "",
  11. "INTRODUCTION": "",
  12. "INTRODUCTION_LINK": "",
  13. "MYSQL_URL": "localhost",
  14. "MYSQL_NAME": "localhost",
  15. "MYSQL_PASSWD": "123456",
  16. "MYSQL_PORT": 3306,
  17. "MYSQL_DATABASE": "HBlog",
  18. "REDIS_HOST": "localhost",
  19. "REDIS_PORT": 6379,
  20. "REDIS_NAME": "localhost",
  21. "REDIS_PASSWD": "123456",
  22. "REDIS_DATABASE": 0,
  23. "CACHE_REDIS_HOST": "localhost",
  24. "CACHE_REDIS_PORT": 6379,
  25. "CACHE_REDIS_NAME": "localhost",
  26. "CACHE_REDIS_PASSWD": "123456",
  27. "CACHE_REDIS_DATABASE": 0,
  28. "CACHE_EXPIRE": 604800, # 默认七天过期
  29. "VIEW_CACHE_EXPIRE": 60, # 视图函数
  30. "LIST_CACHE_EXPIRE": 5, # 列表 排行
  31. "REDIS_EXPIRE": "statistics",
  32. "CACHE_PREFIX": "hblog_cache",
  33. "FLASK_CACHE_PREFIX": "flask_cache",
  34. "MAIL_SERVER": "",
  35. "MAIL_PORT": "",
  36. "MAIL_USE_TLS": False,
  37. "MAIL_USE_SSL": False,
  38. "MAIL_PASSWORD": "",
  39. "MAIL_USERNAME": "",
  40. "MAIL_PREFIX": "",
  41. "MAIL_SENDER": "",
  42. "USE_ALIYUN": False,
  43. "ALIYUN_KEY": "",
  44. "ALIYUN_SECRET": "",
  45. "ALIYUN_BUCKET_ENDPOINT": "",
  46. "ALIYUN_BUCKET_NAME": "",
  47. "ALIYUN_BUCKET_IS_CNAME": False,
  48. "ALIYUN_BUCKET_USE_SIGN_URL": True,
  49. "LOG_HOME": "",
  50. "LOG_FORMAT": "[%(levelname)s]:%(name)s:%(asctime)s "
  51. "(%(filename)s:%(lineno)d %(funcName)s) "
  52. "%(process)d %(thread)d "
  53. "%(message)s",
  54. "LOG_LEVEL": logging.INFO,
  55. "LOG_STDERR": True,
  56. "LOGO": "logo.jpg",
  57. "ICP": None,
  58. "GONG_AN": None,
  59. }
  60. def configure(conf_file: str, encoding="utf-8"):
  61. """ 运行配置程序, 该函数需要在其他模块被执行前调用 """
  62. with open(conf_file, mode="r", encoding=encoding) as f:
  63. json_str = f.read()
  64. conf.update(json.loads(json_str))
  65. if type(conf["LOG_LEVEL"]) is str:
  66. conf["LOG_LEVEL"] = {"debug": logging.DEBUG,
  67. "info": logging.INFO,
  68. "warning": logging.WARNING,
  69. "error": logging.ERROR}.get(conf["LOG_LEVEL"])
  70. introduce = conf["INTRODUCE"]
  71. introduce_list = []
  72. for i in introduce:
  73. describe: str = introduce[i]
  74. describe = " ".join([f"<p>{i}</p>" for i in describe.split('\n')])
  75. introduce_list.append((i, describe))
  76. conf["INTRODUCE"] = introduce_list
  77. if len(conf["LOG_HOME"]) > 0:
  78. os.makedirs(conf["LOG_HOME"], exist_ok=True)