ConfigManager.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import configparser
  2. import logging
  3. import os
  4. from pathlib import Path
  5. logger = logging.getLogger("ConfigManager.py")
  6. logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
  7. class ConfigManager(object):
  8. def __init__(self):
  9. # 获取环境变量 ROV_OFFLINE_ENV
  10. env = os.environ.get('ROV_OFFLINE_ENV')
  11. logger.info(f"当前环境: {env}")
  12. project_home = Path(__file__).parent.parent.absolute()
  13. logger.info(f"当前项目目录为: {project_home}")
  14. self.env = env
  15. self.project_home = project_home
  16. if env == "pro":
  17. self.config_file = f"{project_home}/config/config.ini"
  18. else:
  19. self.config_file = f"{project_home}/config/config_test.ini"
  20. self.config = configparser.ConfigParser()
  21. self.config.read(self.config_file)
  22. def get_env(self):
  23. return self.env if self.env is not None else "test"
  24. def get_algorithm_redis_info(self):
  25. return (
  26. self.config.get("algorithm.redis", "host"),
  27. self.config.get("algorithm.redis", "port"),
  28. self.config.get("algorithm.redis", "password")
  29. )
  30. def get_model_inform_feishu_webhook(self):
  31. return self.config.get("feishu", "model.webhook")
  32. def get_vov_model_inform_feishu_webhook(self):
  33. return self.config.get("feishu", "vov.model.webhook")