49 lines
1.5 KiB
Python
49 lines
1.5 KiB
Python
import os
|
|
from dotenv import load_dotenv
|
|
|
|
# 우선순위: .env.prd > .env.dev > .env
|
|
if os.path.exists('.env.prd'):
|
|
print("Read ::: .env.prd")
|
|
load_dotenv('.env.prd')
|
|
elif os.path.exists('.env.dev'):
|
|
print("Read ::: .env.dev")
|
|
load_dotenv('.env.dev')
|
|
else:
|
|
print("Read ::: .env")
|
|
load_dotenv('.env') # 기본 .env 파일
|
|
|
|
class GetConfig:
|
|
def __init__(self):
|
|
self.db_host = os.getenv('DB_HOST')
|
|
self.db_user = os.getenv('DB_USER')
|
|
self.db_pw = os.getenv('DB_PASSWORD')
|
|
self.db_database = os.getenv('DB_NAME')
|
|
self.openai_api_key = os.getenv('OPENAI_API_KEY')
|
|
self.wp_url = os.getenv('WP_URL')
|
|
self.wp_user = os.getenv('WP_USER')
|
|
self.wp_api_key = os.getenv('WP_API_KEY')
|
|
self.wp_post_style = os.getenv('WP_POST_STYLE')
|
|
|
|
def show_config(self):
|
|
for key, value in self.__dict__.items():
|
|
print(f"{key.upper()}: {value}")
|
|
|
|
def get_config_as_dict(self):
|
|
# 인스턴스 속성을 딕셔너리로 반환
|
|
return self.__dict__
|
|
|
|
|
|
if __name__ == "__main__":
|
|
# 결과 확인
|
|
config = GetConfig()
|
|
config.show_config()
|
|
|
|
|
|
# 오랜만에 보다보니 헷갈려서 참고용으로 작성
|
|
# class GetConfig:
|
|
# def __init__(self, name=None):
|
|
# self.name = name if name is not None else "default_name"
|
|
# self.host = os.getenv('DB_HOST')
|
|
# self.user = os.getenv('DB_USER')
|
|
# self.password = os.getenv('DB_PASSWORD')
|
|
# self.database = os.getenv('DB_NAME') |