69 lines
1.7 KiB
Python
69 lines
1.7 KiB
Python
import os
|
|
from pathlib import Path
|
|
|
|
db_config_dev = {
|
|
'host': 'testdb',
|
|
'user': 'root',
|
|
'password': 'mysqlpw',
|
|
'database': 'stockdb'
|
|
}
|
|
|
|
db_config_nas = {
|
|
'host': 'mariadb',
|
|
'user': 'root',
|
|
'password': 'root',
|
|
'database': 'stockdb'
|
|
}
|
|
|
|
db_config_run = {
|
|
'host': 'testdb',
|
|
'user': 'root',
|
|
'password': 'mysqlpw',
|
|
'database': 'stockdb'
|
|
}
|
|
|
|
db_config = {}
|
|
current_env = os.environ.get('DB_ENV', 'dev')
|
|
if current_env == 'dev':
|
|
db_config = db_config_dev
|
|
elif current_env == 'nas':
|
|
db_config = db_config_nas
|
|
elif current_env == 'run':
|
|
db_config = db_config_run
|
|
else:
|
|
db_config = db_config_dev # 默认使用开发环境配置
|
|
|
|
home_dir = os.path.expanduser("~")
|
|
global_host_data_dir = f'{home_dir}/hostdir/stock_data'
|
|
global_share_db_dir = f'{home_dir}/sharedata/sqlite'
|
|
global_host_input_dir = f'{global_host_data_dir}/input'
|
|
global_pdf_data_dir = f'{home_dir}/sharedata/stock_data'
|
|
|
|
# 兼容以前的定义
|
|
global_stock_data_dir = global_host_data_dir
|
|
global_share_data_dir = f'{home_dir}/sharedata'
|
|
|
|
# 获取当前文件所在目录
|
|
current_dir = Path(__file__).resolve().parent
|
|
|
|
# 找到项目根目录,假设项目根目录下有一个 src 文件夹
|
|
project_root = current_dir
|
|
while project_root.name != 'src' and project_root != project_root.parent:
|
|
project_root = project_root.parent
|
|
|
|
# 获取 src 目录
|
|
def get_src_directory():
|
|
return project_root
|
|
|
|
# 获取 src/config 目录
|
|
def get_src_config_directory():
|
|
return project_root / 'config'
|
|
|
|
# 获取 log 目录
|
|
def get_log_directory():
|
|
"""
|
|
获取与 src 平行的 log 目录路径。如果 log 目录不存在,则自动创建。
|
|
"""
|
|
log_dir = project_root.parent / 'log'
|
|
log_dir.mkdir(parents=True, exist_ok=True)
|
|
return log_dir |