# coding=utf-8
import os
import time
CAIHUI_DATABASE = {
'name': os.environ.get('DISH_DB_NAME', 'goods'),
'host': os.environ.get('CARC_CRAWLER_DB_HOST', '127.0.0.1'),
'port': int(os.environ.get('CARC_CRAWLER_DB_PORT', 3306)),
'user': os.environ.get('CARC_CRAWLER_DB_USER', 'root'),
'password': os.environ.get('CARC_CRAWLER_DB_PASSWORD', '123456'),
}
# SQLite 本地临时缓存(识别读此库;变更后从 MySQL 拉取刷新)
DISH_SQLITE_PATH = os.environ.get(
'DISH_SQLITE_PATH',
os.path.join(os.path.dirname(__file__), 'dish_templates.db'),
)
# 本机基地编码(学菜写入 source_base_id;结果 API 的 base_id 默认也用它)
# 建议填管理系统返回的 code,例如「上海路基地-1788059884828-e55vu」
DISH_BASE_CODE = os.environ.get('DISH_BASE_CODE', 'BASE_LOCAL_01')
DISH_BASE_NAME = os.environ.get('DISH_BASE_NAME', '奥体基地')
DISH_BASE_REGION = os.environ.get('DISH_BASE_REGION', '')
# 管理系统:公开接口(X-API-Key)
# 完整 Key 见 docs/第三方接口文档_mgmt.md(含 dish_ 前缀)
DISH_MGMT_API_ORIGIN = os.environ.get(
'DISH_MGMT_API_ORIGIN',
'https://cpsb.ruimeida.cc',
).rstrip('/')
DISH_MGMT_API_URL = os.environ.get(
'DISH_MGMT_API_URL',
f'{DISH_MGMT_API_ORIGIN}/api/public/bases',
)
DISH_MGMT_RESULT_API_URL = os.environ.get(
'DISH_MGMT_RESULT_API_URL',
f'{DISH_MGMT_API_ORIGIN}/api/public/recognition-orders',
)
DISH_MGMT_MEAL_API_URL = os.environ.get(
'DISH_MGMT_MEAL_API_URL',
f'{DISH_MGMT_API_ORIGIN}/api/public/meal-schedules/today',
)
DISH_MGMT_DEVICE_STATUS_URL = os.environ.get(
'DISH_MGMT_DEVICE_STATUS_URL',
f'{DISH_MGMT_API_ORIGIN}/api/public/devices/status',
)
DISH_MGMT_DISHES_API_URL = os.environ.get(
'DISH_MGMT_DISHES_API_URL',
f'{DISH_MGMT_API_ORIGIN}/api/public/dishes',
)
DISH_MGMT_DISH_LEARNING_STATUS_URL = os.environ.get(
'DISH_MGMT_DISH_LEARNING_STATUS_URL',
f'{DISH_MGMT_API_ORIGIN}/api/public/dishes/learning-status',
)
DISH_MGMT_API_KEY = os.environ.get(
'DISH_MGMT_API_KEY',
'dish_a4f7a1287198179fdc6a6571aa14064c2afc6338c6730e2b668ac5be15bdf769',
)
DISH_MGMT_API_TIMEOUT = float(os.environ.get('DISH_MGMT_API_TIMEOUT', '10'))
DISH_MGMT_SYNC_ON_START = os.environ.get('DISH_MGMT_SYNC_ON_START', '1') == '1'
DISH_MGMT_MEAL_ON_START = os.environ.get('DISH_MGMT_MEAL_ON_START', '1') == '1'
# 本机设备(上报设备状态)
DISH_DEVICE_CODE = os.environ.get('DISH_DEVICE_CODE', '') or os.environ.get('DISH_BASE_CODE', DISH_BASE_CODE)
DISH_DEVICE_NAME = os.environ.get('DISH_DEVICE_NAME', '') or os.environ.get('DISH_BASE_NAME', DISH_BASE_NAME)
DISH_DEVICE_STATUS_INTERVAL = int(os.environ.get('DISH_DEVICE_STATUS_INTERVAL', '60')) # 秒
DISH_DEVICE_STATUS_ENABLED = os.environ.get('DISH_DEVICE_STATUS_ENABLED', '1') == '1'
# 启动时是否从 MySQL 拉取;后台定时同步间隔(秒,含上传队列 flush + 拉取)
DISH_SYNC_ON_START = os.environ.get('DISH_SYNC_ON_START', '1') == '1'
DISH_SYNC_INTERVAL = int(os.environ.get('DISH_SYNC_INTERVAL', 300)) # 默认 5 分钟
# 识别框是否显示「似xx 检xx」(默认关;需要时 set DISH_SHOW_BOX_SCORES=1)
DISH_SHOW_BOX_SCORES = os.environ.get('DISH_SHOW_BOX_SCORES', '0') == '1'
DEBUG = True
LOG_DIR = os.path.join(os.getcwd(), f'log/{time.strftime("%Y-%m-%d")}.log')
LOG_FORMAT = '{level: <8} {time:YYYY-MM-DD HH:mm:ss.SSS} - {name}:{function} - {message}'