From 7e55e1e29a4d8123471b34b572e694b91563b0e9 Mon Sep 17 00:00:00 2001 From: Mr Chen Date: Fri, 29 Nov 2024 03:13:04 +0800 Subject: [PATCH] Update plugin.py --- web/utils/plugin.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/web/utils/plugin.py b/web/utils/plugin.py index f50c2afe8..be3166db9 100644 --- a/web/utils/plugin.py +++ b/web/utils/plugin.py @@ -78,6 +78,7 @@ class plugin(object): ] __plugin_dir = 'plugins' + __tasks = None # lock _instance_lock = threading.Lock() @@ -366,6 +367,31 @@ class plugin(object): return True return False + def checkSetupTask(self, name, version, coexist): + if not self.__tasks: + self.__tasks = thisdb.getTaskRunAll() + isTask = '1' + for task in self.__tasks: + tmpt = mw.getStrBetween('[', ']', task['name']) + if not tmpt: + continue + task_sign = tmpt.split('-') + task_len = len(task_sign) + + task_name = task_sign[0].lower() + task_ver = task_sign[1] + if task_len > 2: + nameArr = task_sign[0:task_len - 1] + task_name = '-'.join(nameArr).lower() + task_ver = task_sign[task_len - 1] + if coexist: + if task_name == name and task_ver == version: + isTask = task['status'] + else: + if task_name == name: + isTask = task['status'] + return isTask + def checkDisplayIndex(self, name, version, coexist): indexList = thisdb.getOptionByJson('display_index',default=[]) if coexist: @@ -451,6 +477,7 @@ class plugin(object): if path.find('VERSION') > -1: pInfo['path'] = path.replace('VERSION', info['versions']) + pInfo['task'] = self.checkSetupTask(pInfo['name'], info['versions'], coexist) pInfo['display'] = self.checkDisplayIndex(info['name'], pInfo['versions'], coexist) pInfo['setup'] = os.path.exists(pInfo['install_checks'])