Merge pull request #194 from BBleae/debug

fix: 统一使用os.getenv获取数据库连接信息,避免从config对象获取不存在的值时出现KeyError
This commit is contained in:
晴猫
2025-03-11 17:11:40 +09:00
committed by GitHub
4 changed files with 33 additions and 29 deletions

View File

@@ -1,5 +1,6 @@
import asyncio import asyncio
import time import time
import os
from loguru import logger from loguru import logger
from nonebot import get_driver, on_message, require from nonebot import get_driver, on_message, require
@@ -31,13 +32,13 @@ driver = get_driver()
config = driver.config config = driver.config
Database.initialize( Database.initialize(
uri=config.MONGODB_URI, uri=os.getenv("MONGODB_URI"),
host=config.MONGODB_HOST, host=os.getenv("MONGODB_HOST", "127.0.0.1"),
port=int(config.MONGODB_PORT), port=int(os.getenv("MONGODB_PORT", "27017")),
db_name=config.DATABASE_NAME, db_name=os.getenv("DATABASE_NAME", "MegBot"),
username=config.MONGODB_USERNAME, username=os.getenv("MONGODB_USERNAME"),
password=config.MONGODB_PASSWORD, password=os.getenv("MONGODB_PASSWORD"),
auth_source=config.MONGODB_AUTH_SOURCE auth_source=os.getenv("MONGODB_AUTH_SOURCE"),
) )
logger.success("初始化数据库成功") logger.success("初始化数据库成功")

View File

@@ -3,6 +3,7 @@ import datetime
import math import math
import random import random
import time import time
import os
import jieba import jieba
import networkx as nx import networkx as nx
@@ -887,13 +888,13 @@ config = driver.config
start_time = time.time() start_time = time.time()
Database.initialize( Database.initialize(
uri=config.MONGODB_URI, uri=os.getenv("MONGODB_URI"),
host=config.MONGODB_HOST, host=os.getenv("MONGODB_HOST", "127.0.0.1"),
port=config.MONGODB_PORT, port=int(os.getenv("MONGODB_PORT", "27017")),
db_name=config.DATABASE_NAME, db_name=os.getenv("DATABASE_NAME", "MegBot"),
username=config.MONGODB_USERNAME, username=os.getenv("MONGODB_USERNAME"),
password=config.MONGODB_PASSWORD, password=os.getenv("MONGODB_PASSWORD"),
auth_source=config.MONGODB_AUTH_SOURCE auth_source=os.getenv("MONGODB_AUTH_SOURCE"),
) )
# 创建记忆图 # 创建记忆图
memory_graph = Memory_graph() memory_graph = Memory_graph()

View File

@@ -69,13 +69,14 @@ class Database:
def __init__(self): def __init__(self):
if not Database.db: if not Database.db:
Database.initialize( Database.initialize(
host=os.getenv("MONGODB_HOST"), uri=os.getenv("MONGODB_URI"),
port=int(os.getenv("MONGODB_PORT")), host=os.getenv("MONGODB_HOST", "127.0.0.1"),
db_name=os.getenv("DATABASE_NAME"), port=int(os.getenv("MONGODB_PORT", "27017")),
username=os.getenv("MONGODB_USERNAME"), db_name=os.getenv("DATABASE_NAME", "MegBot"),
password=os.getenv("MONGODB_PASSWORD"), username=os.getenv("MONGODB_USERNAME"),
auth_source=os.getenv("MONGODB_AUTH_SOURCE") password=os.getenv("MONGODB_PASSWORD"),
) auth_source=os.getenv("MONGODB_AUTH_SOURCE"),
)
@classmethod @classmethod
def initialize(cls, host, port, db_name, username=None, password=None, auth_source="admin"): def initialize(cls, host, port, db_name, username=None, password=None, auth_source="admin"):

View File

@@ -1,3 +1,4 @@
import os
import datetime import datetime
import json import json
from typing import Dict, Union from typing import Dict, Union
@@ -14,13 +15,13 @@ driver = get_driver()
config = driver.config config = driver.config
Database.initialize( Database.initialize(
uri=config.MONGODB_URI, uri=os.getenv("MONGODB_URI"),
host=config.MONGODB_HOST, host=os.getenv("MONGODB_HOST", "127.0.0.1"),
port=int(config.MONGODB_PORT), port=int(os.getenv("MONGODB_PORT", "27017")),
db_name=config.DATABASE_NAME, db_name=os.getenv("DATABASE_NAME", "MegBot"),
username=config.MONGODB_USERNAME, username=os.getenv("MONGODB_USERNAME"),
password=config.MONGODB_PASSWORD, password=os.getenv("MONGODB_PASSWORD"),
auth_source=config.MONGODB_AUTH_SOURCE auth_source=os.getenv("MONGODB_AUTH_SOURCE"),
) )
class ScheduleGenerator: class ScheduleGenerator:
@@ -176,6 +177,6 @@ class ScheduleGenerator:
# print(scheduler.tomorrow_schedule) # print(scheduler.tomorrow_schedule)
# if __name__ == "__main__": # if __name__ == "__main__":
# main() # main()
bot_schedule = ScheduleGenerator() bot_schedule = ScheduleGenerator()