diff --git a/files/config.yaml.template b/files/config.yaml.template index 95b250b..703e5cf 100644 --- a/files/config.yaml.template +++ b/files/config.yaml.template @@ -1,5 +1,5 @@ path_data: "." -#path_plugins_dev: +#path_dev: # 데이터 폴더 루트 경로 @@ -7,11 +7,11 @@ path_data: "." # 예) data_folder: "C:\\work\\data" # 현재 폴더인 경우 . #path_data: "." -#path_data: "/mnt/c/work/FlaskFarm/working" + # 개발용 플러그인 경로 -#path_plugins_dev: -#path_data: "/mnt/c/work/FlaskFarm/working" +#path_dev: + # gevent 사용여부 # 플러그인 개발이나 termux 환경에서의 실행 같이 특수한 경우에만 false로 사용. diff --git a/files/freeze.txt b/files/freeze.txt new file mode 100644 index 0000000..1e14ac3 --- /dev/null +++ b/files/freeze.txt @@ -0,0 +1,71 @@ +amqp==5.1.1 +APScheduler==3.9.1 +async-generator==1.10 +async-timeout==4.0.2 +attrs==22.1.0 +bidict==0.22.0 +billiard==3.6.4.0 +celery==5.2.7 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +click-didyoumean==0.3.0 +click-plugins==1.1.1 +click-repl==0.2.0 +colorama==0.4.5 +Deprecated==1.2.13 +discord-webhook==0.17.0 +exceptiongroup==1.0.0rc9 +Flask==2.2.2 +Flask-Cors==3.0.10 +Flask-Dropzone==1.6.0 +Flask-Login==0.6.2 +Flask-Markdown==0.3 +Flask-SocketIO==5.3.1 +Flask-SQLAlchemy==3.0.1 +gevent==22.8.0 +gevent-websocket==0.10.1 +greenlet==1.1.3.post0 +h11==0.14.0 +idna==3.4 +itsdangerous==2.1.2 +Jinja2==3.1.2 +kombu==5.2.4 +lxml==4.9.1 +Markdown==3.4.1 +MarkupSafe==2.1.1 +outcome==1.2.0 +packaging==21.3 +Pillow==9.2.0 +prompt-toolkit==3.0.31 +psutil==5.9.2 +pycparser==2.21 +pycryptodome==3.15.0 +pyparsing==3.0.9 +PySocks==1.7.1 +python-engineio==4.3.4 +python-socketio==5.7.1 +pytz==2022.4 +pytz-deprecation-shim==0.1.0.post0 +PyYAML==6.0 +redis==4.3.4 +requests==2.28.1 +selenium==4.5.0 +six==1.16.0 +sniffio==1.3.0 +sortedcontainers==2.4.0 +SQLAlchemy==1.4.41 +telepot-mod==0.0.1 +trio==0.22.0 +trio-websocket==0.9.2 +tzdata==2022.4 +tzlocal==4.2 +urllib3==1.26.12 +vine==5.0.0 +wcwidth==0.2.5 +Werkzeug==2.2.2 +wrapt==1.14.1 +wsproto==1.2.0 +zope.event==4.5.0 +zope.interface==5.5.0 diff --git a/files/requirements.txt b/files/requirements.txt index de630ae..52f8096 100644 --- a/files/requirements.txt +++ b/files/requirements.txt @@ -1,22 +1,22 @@ #flask -Flask==1.1.1 -Flask-SQLAlchemy==2.5.1 -Flask-Login==0.4.1 -Flask-Cors==3.0.8 +Flask +Flask-SQLAlchemy +Flask-Login +Flask-Cors Flask-Markdown -Flask-SocketIO==4.3.1 -python-engineio==3.13.2 -python-socketio==4.6.0 +Flask-SocketIO +python-engineio +python-socketio #Werkzeug==2.0.1 -Werkzeug==0.16.1 -Jinja2==2.10.1 -markupsafe==2.0.1 -itsdangerous==2.0.1 +Werkzeug +Jinja2 +markupsafe +itsdangerous # common util apscheduler pytz -requests==2.26.0 +requests discord-webhook pyyaml telepot-mod diff --git a/files/requirements_normal.txt b/files/requirements_normal.txt index 360cc1a..77efb9b 100644 --- a/files/requirements_normal.txt +++ b/files/requirements_normal.txt @@ -1,9 +1,11 @@ psutil gevent gevent-websocket -celery==5.0.5 +#celery==5.0.5 +celery redis lxml pillow -selenium==3.141.0 +#selenium==3.141.0 +selenium pycryptodome \ No newline at end of file diff --git a/lib/framework/init_main.py b/lib/framework/init_main.py index 7d24ab2..f90d531 100644 --- a/lib/framework/init_main.py +++ b/lib/framework/init_main.py @@ -112,8 +112,8 @@ class Framework: if os.path.exists(_): plugins = os.listdir(_) - if self.config['path_plugins_dev'] != None and os.path.exists(self.config['path_plugins_dev']): - plugins += os.listdir(self.config['path_plugins_dev']) + if self.config['path_dev'] != None and os.path.exists(self.config['path_dev']): + plugins += os.listdir(self.config['path_dev']) for package_name in plugins: db_path = os.path.join(self.config['path_data'], 'db', f'{package_name}.db') @@ -346,8 +346,8 @@ class Framework: self.config['plugin_loading_list'] = [] if self.config.get('plugin_except_list') == None: self.config['plugin_except_list'] = [] - if self.config.get('path_plugins_dev') == None: - self.config['path_plugins_dev'] = None + if self.config.get('path_dev') == None: + self.config['path_dev'] = None def __make_default_dir(self): diff --git a/lib/system/mod_plugin.py b/lib/system/mod_plugin.py index fdf42ce..5c67add 100644 --- a/lib/system/mod_plugin.py +++ b/lib/system/mod_plugin.py @@ -7,10 +7,6 @@ from .setup import * name = 'plugin' class ModulePlugin(PluginModuleBase): - db_default = { - 'plugin_dev_path': os.path.join(F.config['path_data'], 'dev'), - } - def __init__(self, P): super(ModulePlugin, self).__init__(P, name=name, first_menu='list') diff --git a/lib/system/setup.py b/lib/system/setup.py index 2fb6ee9..07d1182 100644 --- a/lib/system/setup.py +++ b/lib/system/setup.py @@ -20,7 +20,7 @@ __menu = { 'uri': 'plugin', 'name': '플러그인', 'list': [ - {'uri': 'setting', 'name': '설정'}, + #{'uri': 'setting', 'name': '설정'}, {'uri': 'list', 'name': '로딩 플러그인'}, {'uri': 'all', 'name': '플러그인 목록'}, ], diff --git a/lib/system/templates/system_plugin_list.html b/lib/system/templates/system_plugin_list.html index ee396d0..8cf510f 100644 --- a/lib/system/templates/system_plugin_list.html +++ b/lib/system/templates/system_plugin_list.html @@ -1,6 +1,7 @@ {% extends "base.html" %} {% block content %}
+ {{ macros.setting_input_text_and_buttons('_plugin_git', '플러그인 설치', [['plugin_install_btn', '설치']], value='https://github.com/', desc=None) }} {{ macros.m_hr_head_top() }} {{ macros.m_row_start('0') }} {{ macros.m_col_wide(1, macros.m_strong('Idx'), 'center') }} @@ -23,6 +24,11 @@ $(document).ready(function(){ }); }); +$("body").on('click', '#plugin_install_btn', function(e){ + e.preventDefault(); + globalSendCommand('plugin_install', $('#_plugin_git').val()); +}); + function make_plugin_list(data) { current_data = data; console.log(data); @@ -72,19 +78,6 @@ $("body").on('click', '#json_btn', function(e){ }); - - - - - - - - - - - - - $("body").on('click', '#uninstall_btn', function(e){ e.preventDefault(); $("#confirm_title").html("삭제 확인"); @@ -97,12 +90,10 @@ $("body").on('click', '#uninstall_btn', function(e){ function uninstall(package_name) { globalSendCommand('uninstall', package_name, null, null, null, function(ret) { - }); } - $("body").on('click', '#plugin_uninstall_btn', function(e){ e.preventDefault(); plugin_name = $(this).data('plugin_name') @@ -126,7 +117,5 @@ $("body").on('click', '#plugin_uninstall_btn', function(e){ }); - - {% endblock %} diff --git a/lib/system/templates/system_plugin_setting.html b/lib/system/templates/system_plugin_setting.html deleted file mode 100644 index c94d77b..0000000 --- a/lib/system/templates/system_plugin_setting.html +++ /dev/null @@ -1,31 +0,0 @@ -{% extends "base.html" %} -{% block content %} - -
- {{ macros.m_button_group([['globalSettingSaveBtn', '설정 저장']])}} - {{ macros.m_row_start('5') }} - {{ macros.m_row_end() }} - {{ macros.m_hr() }} -
- {{ macros.setting_input_text_and_buttons('plugin_dev_path', '개발용 플러그인 경로', [['select_btn', '폴더 선택']], value=arg['plugin_dev_path'], desc=['개발용 플러그인 패키지 폴더가 있는 경로']) }} - {{ macros.m_hr() }} - {{ macros.setting_input_text_and_buttons('_plugin_git', '플러그인 설치', [['plugin_install_btn', '설치']], value='https://github.com/', desc=['플러그인 Git 주소']) }} -
-
- - -{% endblock %} diff --git a/lib/system/templates/system_setting_config.html b/lib/system/templates/system_setting_config.html index e9a0f11..de87efe 100644 --- a/lib/system/templates/system_setting_config.html +++ b/lib/system/templates/system_setting_config.html @@ -11,6 +11,7 @@ 'App을 재시작 해야 적용됩니다.', '', 'path_data : 필수. 데이터 폴더 경로. 윈도우의 경우 폴더 구분 기호 \ 를 두개 사용', + 'path_dev : 개발용 플러그인 폴더', 'use_gevent : 생략시 true', 'use_celery : 생략시 true', 'redis_port : 생략시 6379',