139 lines
3.0 KiB
Python
139 lines
3.0 KiB
Python
# -*- coding: utf-8 -*-
|
|
import os
|
|
|
|
|
|
class LogicModuleBase(object):
|
|
db_default = None
|
|
|
|
def __init__(self, P, first_menu, scheduler_desc=None):
|
|
self.P = P
|
|
self.scheduler_desc = scheduler_desc
|
|
self.first_menu = first_menu
|
|
self.name = None
|
|
self.socketio_list = None
|
|
self.sub_list = None
|
|
|
|
def process_menu(self, sub):
|
|
pass
|
|
|
|
def process_ajax(self, sub, req):
|
|
pass
|
|
|
|
def process_api(self, sub, req):
|
|
pass
|
|
|
|
def process_normal(self, sub, req):
|
|
pass
|
|
|
|
def scheduler_function(self):
|
|
pass
|
|
|
|
def reset_db(self):
|
|
pass
|
|
|
|
def plugin_load(self):
|
|
pass
|
|
|
|
def plugin_unload(self):
|
|
pass
|
|
|
|
def setting_save_after(self):
|
|
pass
|
|
|
|
def process_telegram_data(self, data, target=None):
|
|
pass
|
|
|
|
def migration(self):
|
|
pass
|
|
|
|
#################################################################
|
|
def get_scheduler_desc(self):
|
|
return self.scheduler_desc
|
|
|
|
def get_scheduler_interval(self):
|
|
if (
|
|
self.P is not None
|
|
and self.P.ModelSetting is not None
|
|
and self.name is not None
|
|
):
|
|
return self.P.ModelSetting.get(
|
|
"{module_name}_interval".format(module_name=self.name)
|
|
)
|
|
|
|
def get_first_menu(self):
|
|
return self.first_menu
|
|
|
|
def get_scheduler_name(self):
|
|
return "%s_%s" % (self.P.package_name, self.name)
|
|
|
|
def dump(self, data):
|
|
if type(data) in [type({}), type([])]:
|
|
import json
|
|
|
|
return "\n" + json.dumps(data, indent=4, ensure_ascii=False)
|
|
else:
|
|
return str(data)
|
|
|
|
|
|
class LogicSubModuleBase(object):
|
|
db_default = None
|
|
|
|
def __init__(self, P, parent, name, scheduler_desc=None):
|
|
self.P = P
|
|
self.parent = parent
|
|
self.name = name
|
|
self.scheduler_desc = scheduler_desc
|
|
self.socketio_list = None
|
|
|
|
def process_ajax(self, sub, req):
|
|
pass
|
|
|
|
def scheduler_function(self):
|
|
pass
|
|
|
|
def plugin_load(self):
|
|
pass
|
|
|
|
def plugin_unload(self):
|
|
pass
|
|
|
|
def get_scheduler_desc(self):
|
|
return self.scheduler_desc
|
|
|
|
def get_scheduler_interval(self):
|
|
if (
|
|
self.P is not None
|
|
and self.P.ModelSetting is not None
|
|
and self.parent.name is not None
|
|
and self.name is not None
|
|
):
|
|
return self.P.ModelSetting.get(
|
|
f"{self.parent.name}_{self.name}_interval"
|
|
)
|
|
|
|
def get_scheduler_name(self):
|
|
return f"{self.P.package_name}_{self.parent.name}_{self.name}"
|
|
|
|
def process_api(self, sub, req):
|
|
pass
|
|
|
|
def process_normal(self, sub, req):
|
|
pass
|
|
|
|
def reset_db(self):
|
|
pass
|
|
|
|
def setting_save_after(self):
|
|
pass
|
|
|
|
def process_telegram_data(self, data, target=None):
|
|
pass
|
|
|
|
def migration(self):
|
|
pass
|
|
|
|
#################################################################
|
|
|
|
def process_menu(self, sub):
|
|
pass
|