-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.py
54 lines (43 loc) · 1.55 KB
/
config.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
from dotenv import load_dotenv
from os import environ
load_dotenv()
flask_env = environ.get("FLASK_ENV")
"""
之後要區分開發環境,可以從這裡控制flask app的環境變數
"""
class BaseConfig(object):
CONFIG_TYPE = "BaseConfig"
PINECONE_API_KEY = environ.get("PINECONE_API_KEY") # 從.env來的
PINECONE_ENV = environ.get("PINECONE_ENV")
OPENAI_API_KEY = environ.get("OPENAI_API_KEY")
# sqlalchemy_database
SQLALCHEMY_DATABASE_URI = environ.get("LOCAL_DATABASE_URL")
# Linebot
CHANNEL_ACCESS_TOKEN = environ.get("CHANNEL_ACCESS_TOKEN")
CHANNEL_SECRET = environ.get("CHANNEL_SECRET")
# openai
OPENAI_API_KEY = environ.get("OPENAI_API_KEY")
# redis
REDIS_URL = environ.get("REDIS_URL")
class PrdConfig(object):
CONFIG_TYPE = "PrdConfig"
PINECONE_API_KEY = environ.get("PINECONE_API_KEY") # 從.env來的
PINECONE_ENV = environ.get("PINECONE_ENV")
OPENAI_API_KEY = environ.get("OPENAI_API_KEY")
# sqlalchemy_database
SQLALCHEMY_DATABASE_URI = environ.get("PROD_DATABASE_URL")
# Linebot
CHANNEL_ACCESS_TOKEN = environ.get("CHANNEL_ACCESS_TOKEN")
CHANNEL_SECRET = environ.get("CHANNEL_SECRET")
# openai
OPENAI_API_KEY = environ.get("OPENAI_API_KEY")
# redis
REDIS_URL = environ.get("REDIS_URL")
def get_config_by_flask_env():
configs = {
None: BaseConfig, # 預設不寫FLASK_ENV的話就是BaseConfig
"production": PrdConfig,
}
_env = environ.get("FASTAPI_ENV")
return configs.get(_env)()
settings = get_config_by_flask_env()