linkkf 로직수정중

This commit is contained in:
2025-12-25 19:42:32 +09:00
parent 695d26767e
commit af9a38a973
128 changed files with 8711 additions and 1484 deletions

View File

@@ -32,14 +32,39 @@ class Logic(object):
if self.P.ModelSetting is not None:
for module in self.P.module_list:
key = f'{module.name}_auto_start'
if self.P.ModelSetting.has_key(key) and self.P.ModelSetting.get_bool(key):
key2 = f'{module.name}_interval'
if self.P.ModelSetting.has_key(key) and self.P.ModelSetting.get_bool(key) and self.P.ModelSetting.has_key(key2):
self.scheduler_start(module.name)
if module.page_list is not None:
for page_instance in module.page_list:
key = f'{module.name}_{page_instance.name}_auto_start'
if self.P.ModelSetting.has_key(key) and self.P.ModelSetting.get_bool(key):
self.scheduler_start_sub(module.name, page_instance.name)
key1 = f'{module.name}_db_auto_delete'
key2 = f'{module.name}_db_delete_day'
if self.P.ModelSetting.has_key(key1) and self.P.ModelSetting.has_key(key2) and self.P.ModelSetting.get_bool(key1):
try: module.db_delete(self.P.ModelSetting.get_int(key2))
except: pass
if module.page_list == None:
continue
for page_instance in module.page_list:
key1 = f'{module.name}_{page_instance.name}_db_auto_delete'
key2 = f'{module.name}_{page_instance.name}_db_delete_day'
if self.P.ModelSetting.has_key(key1) and self.P.ModelSetting.has_key(key2) and self.P.ModelSetting.get_bool(key1):
try: page_instance.db_delete(self.P.ModelSetting.get_int(key2))
except: pass
def plugin_load_celery(self):
self.P.logger.debug('%s plugin_load_celery', self.P.package_name)
for module in self.P.module_list:
module.plugin_load_celery()
if module.page_list is not None:
for page_instance in module.page_list:
page_instance.plugin_load_celery()
def db_init(self):
try:
@@ -88,7 +113,7 @@ class Logic(object):
try:
job_id = '%s_%s' % (self.P.package_name, module_name)
module = self.get_module(module_name)
job = Job(self.P.package_name, job_id, module.get_scheduler_interval(), self.scheduler_function, module.get_scheduler_desc(), args=module_name)
job = Job(self.P.package_name, job_id, module.get_scheduler_interval(), self.scheduler_function, module.get_scheduler_desc(), args=(module_name,))
F.scheduler.add_job_instance(job)
except Exception as e:
self.P.logger.error(f'Exception:{str(e)}')
@@ -112,15 +137,25 @@ class Logic(object):
self.P.logger.error(f'Exception:{str(e)}')
self.P.logger.error(traceback.format_exc())
def reset_db(self, module_name):
def db_delete(self, module_name, page_name, day):
try:
module = self.get_module(module_name)
return module.reset_db()
if module == None:
return False
if page_name != None:
page = module.get_page(page_name)
if page != None:
return page.db_delete(day)
else:
return module.db_delete(day)
except Exception as e:
self.P.logger.error(f'Exception:{str(e)}')
self.P.logger.error(traceback.format_exc())
def one_execute(self, module_name):
self.P.logger.debug('one_execute :%s', module_name)
try:
@@ -166,6 +201,7 @@ class Logic(object):
self.P.logger.error(f'Exception:{str(e)}')
self.P.logger.error(traceback.format_exc())
"""
def process_telegram_data(self, data, target=None):
try:
for module in self.P.module_list:
@@ -174,7 +210,7 @@ class Logic(object):
except Exception as e:
self.P.logger.error(f'Exception:{str(e)}')
self.P.logger.error(traceback.format_exc())
"""
@@ -303,12 +339,23 @@ class Logic(object):
def arg_to_dict(self, arg):
"""
import urllib.parse
tmp = urllib.parse.unquote(arg)
tmps = tmp.split('&')
ret = {}
for tmp in tmps:
_ = tmp.split('=')
_ = tmp.split('=', 1)
ret[_[0]] = _[1]
return ret
"""
import html
import urllib.parse
char = '||!||'
arg = arg.replace('&', char)
tmp = html.unescape(arg)
tmp = urllib.parse.unquote(tmp)
tmp = dict(urllib.parse.parse_qs(tmp, keep_blank_values=True))
ret = {k: v[0].replace(char, '&') for k, v in tmp.items()}
return ret