mirror of
https://github.com/Nezumi-2711/astrbot_plugin_qq_group_daily_analysis.git
synced 2026-09-22 13:38:43 +00:00
fix(path): pass plugin name to StarTools.get_data_dir() to avoid inspect.stack() crash (#193)
* fix: pass plugin name to StarTools.get_data_dir to avoid inspect-stack crash * refactor: reuse plugin name constant for data dir --------- Co-authored-by: Rat0323 <rat0323@users.noreply.github.com> Co-authored-by: Rat0323 <261020116+Rat0323@users.noreply.github.com>
This commit is contained in:
@@ -45,6 +45,7 @@ from .src.infrastructure.platform.template_preview import (
|
||||
)
|
||||
from .src.infrastructure.reporting.generators import ReportGenerator
|
||||
from .src.infrastructure.scheduler.auto_scheduler import AutoScheduler
|
||||
from .src.shared.constants import PLUGIN_NAME
|
||||
from .src.shared.trace_context import TraceContext, TraceLogFilter
|
||||
from .src.utils.logger import logger
|
||||
from .src.utils.resilience import GlobalRateLimiter
|
||||
@@ -77,10 +78,6 @@ class GroupDailyAnalysis(Star):
|
||||
super().__init__(context)
|
||||
self.config = config
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
from astrbot.core.utils.astrbot_path import get_astrbot_data_path
|
||||
|
||||
# 1. 基础设施层
|
||||
self.config_manager = ConfigManager(config)
|
||||
self.bot_manager = BotManager(self.config_manager)
|
||||
@@ -88,15 +85,7 @@ class GroupDailyAnalysis(Star):
|
||||
self.bot_manager.set_plugin_instance(self)
|
||||
self.history_manager = HistoryManager(self)
|
||||
|
||||
try:
|
||||
plugin_data_dir = StarTools.get_data_dir()
|
||||
except Exception:
|
||||
# 回退逻辑:手动构造满足规范的路径
|
||||
plugin_data_dir = (
|
||||
Path(get_astrbot_data_path())
|
||||
/ "plugin_data"
|
||||
/ "astrbot_plugin_qq_group_daily_analysis"
|
||||
)
|
||||
plugin_data_dir = StarTools.get_data_dir(PLUGIN_NAME)
|
||||
|
||||
self.report_generator = ReportGenerator(self.config_manager, plugin_data_dir)
|
||||
|
||||
@@ -640,23 +629,12 @@ class GroupDailyAnalysis(Star):
|
||||
|
||||
# 若用户配置为空,使用默认目录
|
||||
if not html_output_dir:
|
||||
try:
|
||||
from astrbot.api.star import StarTools
|
||||
from astrbot.api.star import StarTools
|
||||
|
||||
html_output_dir = os.path.join(
|
||||
StarTools.get_data_dir(), "self_hosted_html_reports"
|
||||
)
|
||||
except Exception:
|
||||
from astrbot.core.utils.astrbot_path import (
|
||||
get_astrbot_data_path,
|
||||
)
|
||||
|
||||
html_output_dir = os.path.join(
|
||||
get_astrbot_data_path(),
|
||||
"plugin_data",
|
||||
"astrbot_plugin_qq_group_daily_analysis",
|
||||
"self_hosted_html_reports",
|
||||
)
|
||||
html_output_dir = os.path.join(
|
||||
StarTools.get_data_dir(PLUGIN_NAME),
|
||||
"self_hosted_html_reports",
|
||||
)
|
||||
|
||||
# 计算相对路径并转换为URL
|
||||
rel_path = os.path.relpath(html_path, html_output_dir)
|
||||
|
||||
Reference in New Issue
Block a user