Skip to content

Commit b5a6ba9

Browse files
committed
add setting: debug
1 parent 21f9856 commit b5a6ba9

File tree

7 files changed

+31
-11
lines changed

7 files changed

+31
-11
lines changed

hooks/__init__.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import hooks.schedule_tasks as schedule_tasks
1212
import hooks.tasks as tasks
1313
import hooks.utils as utils
14+
import hooks.logger.logger as logger
1415
from hooks.utils import process_arg_server
1516

1617
scripts_folder: str = ''
@@ -21,8 +22,6 @@ def trigger_hooks(hook: mount.Hooks, server: PluginServerInterface, objects_dict
2122
return
2223

2324
try:
24-
server.logger.debug(f'Triggered hooks {hook.value}')
25-
server.logger.debug(f'objects_dict: {str(objects_dict)}')
2625
if len(cfg.temp_config.hooks.get(hook.value)) != 0:
2726
_trigger_hooks(hook, server, objects_dict)
2827
except Exception as e:
@@ -31,6 +30,8 @@ def trigger_hooks(hook: mount.Hooks, server: PluginServerInterface, objects_dict
3130

3231
@new_thread('hooks - trigger')
3332
def _trigger_hooks(hook: mount.Hooks, server: PluginServerInterface, objects_dict: dict[str, Any] = None):
33+
logger.debug(f'Triggering hooks {hook.value}', server)
34+
3435
# 初始化最终变量字典
3536
finally_var_dict = dict()
3637

@@ -112,7 +113,7 @@ def list_scripts(src: CommandSource):
112113

113114

114115
def reload_config(src: CommandSource, server: PluginServerInterface):
115-
schedule_tasks.stop_all_schedule_daemon_threads()
116+
schedule_tasks.stop_all_schedule_daemon_threads(server)
116117

117118
cfg.temp_config = cfg.TempConfig()
118119
cfg.config = server.load_config_simple(target_class=cfg.Configuration)
@@ -168,6 +169,8 @@ def run_command(command: str, task_type: str, server: PluginServerInterface, src
168169

169170

170171
def _parse_and_apply_scripts(script: str, server: PluginServerInterface):
172+
logger.debug(f'Prepare for apply script: {script}', server)
173+
171174
try:
172175
# 读取
173176
with open(cfg.temp_config.scripts_list.get(script), 'r') as f:
@@ -250,12 +253,15 @@ def _parse_and_apply_scripts(script: str, server: PluginServerInterface):
250253
for hook in schedule.get('hooks'):
251254
# 挂载
252255
mount.mount_task(hook, schedule.get('name'), server.get_plugin_command_source(), server)
256+
logger.debug(f'{script} apply successfully.', server)
253257
except Exception as e:
254258
server.logger.exception(f'Unexpected exception when parse or apply scripts {os.path.basename(script)}! Please '
255259
f'check your scripts.', e)
256260

257261

258262
def load_scripts(server: PluginServerInterface):
263+
logger.debug('Loading scripts...', server)
264+
259265
if not os.path.isdir(scripts_folder):
260266
# 创建脚本目录
261267
os.makedirs(scripts_folder)
@@ -433,7 +439,7 @@ def on_load(server: PluginServerInterface, old_module):
433439

434440

435441
def on_unload(server: PluginServerInterface):
436-
schedule_tasks.stop_all_schedule_daemon_threads()
442+
schedule_tasks.stop_all_schedule_daemon_threads(server)
437443

438444
trigger_hooks(mount.Hooks.on_plugin_unloaded, server, {'server': process_arg_server(server)})
439445

hooks/config.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ def __init__(self, **kwargs):
88
super().__init__(**kwargs)
99

1010
automatically: bool = True
11+
12+
debug: bool = False
1113

1214

1315
class TempConfig:

hooks/logger/__init__.py

Whitespace-only changes.

hooks/logger/logger.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
from mcdreforged.api.types import PluginServerInterface
2+
3+
import hooks.config as cfg
4+
5+
6+
def debug(msg: str, server: PluginServerInterface):
7+
if cfg.config.debug:
8+
server.logger.info('debug: ' + msg)

hooks/mount.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from enum import Enum
22

3-
from mcdreforged.api.all import *
3+
from mcdreforged.api.all import CommandSource, PluginServerInterface, RTextMCDRTranslation
44

55
from hooks import config as cfg
66

hooks/schedule_tasks.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
import hooks.tasks as tasks
55
from hooks import config as cfg
6+
import hooks.logger.logger as logger
67

78

89
class AThread(threading.Thread):
@@ -35,13 +36,16 @@ def run(self):
3536
while True:
3637
for _ in range(self.exec_interval):
3738
if self.stop_event.is_set():
39+
logger.debug(f'Schedule task {self.task_name} stopped.', self.server_inst)
3840
return
3941
sleep(1.0)
42+
logger.debug(f'Schedule task {self.task_name} triggered. exec_interval: {self.exec_interval}', self.server_inst)
4043
if cfg.config.automatically:
4144
self.execute_task(self.server_inst, 'schedule')
4245

4346

44-
def stop_all_schedule_daemon_threads():
47+
def stop_all_schedule_daemon_threads(server):
48+
logger.debug('Stopping all schedule task daemon thread...', server)
4549
if len(cfg.temp_config.schedule_daemon_threads) == 0:
4650
return
4751

hooks/tasks.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@
33
from enum import Enum
44
from io import StringIO
55

6-
from mcdreforged.api.all import *
6+
from mcdreforged.api.all import CommandSource, PluginServerInterface, RTextMCDRTranslation, new_thread
77

88
from hooks import config as cfg, mount as mount, schedule_tasks as schedule_tasks
9+
import hooks.logger.logger as logger
910

1011

1112
class TaskType(Enum):
@@ -35,8 +36,7 @@ def __init__(self, name, task_type, created_by, command):
3536

3637
@new_thread('hooks - execute')
3738
def execute_task(self, server: PluginServerInterface, hook: str, var_dict: dict = None, obj_dict: dict = None):
38-
server.logger.debug(f'Executing task: {self.task_name}, task_type: {self.task_type}, command: {self.command}')
39-
server.logger.debug(f'objects_dict: {str(var_dict)}')
39+
logger.debug(f'Executing task: {self.task_name}, task_type: {self.task_type}', server)
4040

4141
start_time = time.time()
4242

@@ -98,8 +98,8 @@ def execute_task(self, server: PluginServerInterface, hook: str, var_dict: dict
9898
else:
9999
exec(self.command, {}, locals())
100100

101-
server.logger.debug(f'Task finished, name: {self.task_name}, task_type: {self.task_type}, '
102-
f'command: {self.command}, costs {time.time() - start_time} seconds.')
101+
logger.debug(f'Task finished, name: {self.task_name}, task_type: {self.task_type}, '
102+
f'costs {time.time() - start_time} seconds.', server)
103103

104104

105105
def create_task(task_type: str, command: str, name: str, src: CommandSource, server: PluginServerInterface,

0 commit comments

Comments
 (0)