Update environment variable loading to allow overrides
- Modified load_dotenv() calls in multiple files to include override=True, ensuring that .env variables can replace existing environment variables. - Updated ota_storage.py to use default values for OTA upload directories, improving clarity and maintainability. - Enhanced get_ota_upload_dir() function to read environment variables dynamically, ensuring accurate directory paths based on the current environment.
This commit is contained in:
+2
-2
@@ -4,8 +4,8 @@ from sqlalchemy.orm import sessionmaker
|
|||||||
import os
|
import os
|
||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
|
|
||||||
# Load environment variables
|
# Load environment variables(override=True:.env 覆盖已有环境变量,避免系统里 DEBUG=true 导致与 .env 中 DEBUG=False 冲突)
|
||||||
load_dotenv()
|
load_dotenv(override=True)
|
||||||
|
|
||||||
# Database configuration
|
# Database configuration
|
||||||
DATABASE_HOST = os.getenv("DATABASE_HOST", "localhost")
|
DATABASE_HOST = os.getenv("DATABASE_HOST", "localhost")
|
||||||
|
|||||||
+1
-1
@@ -10,7 +10,7 @@ from routes.auth import router as auth_router
|
|||||||
from security import get_current_user
|
from security import get_current_user
|
||||||
|
|
||||||
# Load environment variables
|
# Load environment variables
|
||||||
load_dotenv()
|
load_dotenv(override=True)
|
||||||
|
|
||||||
# Configure logging
|
# Configure logging
|
||||||
logging.basicConfig(
|
logging.basicConfig(
|
||||||
|
|||||||
@@ -16,13 +16,9 @@ OTA_MODEL_X8 = "Luxsin-X8"
|
|||||||
OTA_MODEL_X9 = "Luxsin-X9"
|
OTA_MODEL_X9 = "Luxsin-X9"
|
||||||
OTA_UPLOAD_MODELS = {OTA_MODEL_X8, OTA_MODEL_X9}
|
OTA_UPLOAD_MODELS = {OTA_MODEL_X8, OTA_MODEL_X9}
|
||||||
|
|
||||||
# 本地根目录;实际文件路径为 {根}/{md5前5位}/LUXSIN.PKG
|
# 默认本地根目录;实际路径为 {根}/{md5前5位}/LUXSIN.PKG(具体目录在 get_ota_upload_dir 内按当前环境读取)
|
||||||
OTA_UPLOAD_DIR_DEV = os.getenv(
|
_OTA_UPLOAD_DIR_DEV_DEFAULT = "H:/soft/projects/luxsin/dashboard/ota"
|
||||||
"OTA_UPLOAD_DIR_DEV", "H:/soft/projects/luxsin/dashboard/ota"
|
_OTA_UPLOAD_DIR_PROD_DEFAULT = "/data/project/dashboard/upload"
|
||||||
)
|
|
||||||
OTA_UPLOAD_DIR_PROD = os.getenv(
|
|
||||||
"OTA_UPLOAD_DIR_PROD", "/data/project/dashboard/upload"
|
|
||||||
)
|
|
||||||
|
|
||||||
AWS_REGION = os.getenv("AWS_REGION", "eu-central-1")
|
AWS_REGION = os.getenv("AWS_REGION", "eu-central-1")
|
||||||
AWS_ACCESS_KEY_ID = os.getenv("AWS_ACCESS_KEY_ID", "")
|
AWS_ACCESS_KEY_ID = os.getenv("AWS_ACCESS_KEY_ID", "")
|
||||||
@@ -39,8 +35,12 @@ OTA_FILENAME_X9 = "LUXSIN.PKG"
|
|||||||
|
|
||||||
|
|
||||||
def get_ota_upload_dir() -> Path:
|
def get_ota_upload_dir() -> Path:
|
||||||
is_dev = os.getenv("DEBUG", "False").lower() in ("true", "1", "yes")
|
"""按 DEBUG 选开发/生产目录;每次调用重新读环境变量,避免 import 早于 load_dotenv。"""
|
||||||
raw = OTA_UPLOAD_DIR_DEV if is_dev else OTA_UPLOAD_DIR_PROD
|
debug_val = (os.getenv("DEBUG") or "false").strip().lower()
|
||||||
|
is_dev = debug_val in ("true", "1", "yes", "on")
|
||||||
|
dev = os.getenv("OTA_UPLOAD_DIR_DEV", _OTA_UPLOAD_DIR_DEV_DEFAULT)
|
||||||
|
prod = os.getenv("OTA_UPLOAD_DIR_PROD", _OTA_UPLOAD_DIR_PROD_DEFAULT)
|
||||||
|
raw = dev if is_dev else prod
|
||||||
return Path(raw)
|
return Path(raw)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ from ota_storage import (
|
|||||||
upload_x8_package_to_s3,
|
upload_x8_package_to_s3,
|
||||||
)
|
)
|
||||||
|
|
||||||
load_dotenv()
|
load_dotenv(override=True)
|
||||||
|
|
||||||
# Configure logging
|
# Configure logging
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|||||||
+1
-1
@@ -8,7 +8,7 @@ from dotenv import load_dotenv
|
|||||||
from fastapi import HTTPException, Security
|
from fastapi import HTTPException, Security
|
||||||
from fastapi.security import HTTPAuthorizationCredentials, HTTPBearer
|
from fastapi.security import HTTPAuthorizationCredentials, HTTPBearer
|
||||||
|
|
||||||
load_dotenv()
|
load_dotenv(override=True)
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user