From 02a7b05642d79be722ce4270e3b1bd42a38da06c Mon Sep 17 00:00:00 2001 From: joyfuI Date: Sun, 1 Mar 2020 01:34:59 +0900 Subject: [PATCH] =?UTF-8?q?PyCharm=EC=9C=BC=EB=A1=9C=20=EA=B0=9C=EB=B0=9C?= =?UTF-8?q?=ED=99=98=EA=B2=BD=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 ++ info.json | 2 +- plugin.py | 67 +++++++++++++++++++++------------- templates/youtube-dl_list.html | 2 + 4 files changed, 47 insertions(+), 27 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..90588b7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.idea/ +venv/ +*.pyo \ No newline at end of file diff --git a/info.json b/info.json index 16165ef..7d02ebb 100644 --- a/info.json +++ b/info.json @@ -1 +1 @@ -{"more": "", "version": "1.2.3", "name": "youtube-dl", "developer": "joyfuI", "home": "https://github.com/joyfuI/youtube-dl", "description": "\uc720\ud29c\ube0c, \ub124\uc774\ubc84TV \ub4f1 \ub3d9\uc601\uc0c1 \uc0ac\uc774\ud2b8\uc5d0\uc11c \ub3d9\uc601\uc0c1 \ub2e4\uc6b4\ub85c\ub4dc", "icon": "", "category_name": "vod"} \ No newline at end of file +{"description": "\uc720\ud29c\ube0c, \ub124\uc774\ubc84TV \ub4f1 \ub3d9\uc601\uc0c1 \uc0ac\uc774\ud2b8\uc5d0\uc11c \ub3d9\uc601\uc0c1 \ub2e4\uc6b4\ub85c\ub4dc", "name": "youtube-dl", "more": "", "version": "1.2.3", "home": "https://github.com/joyfuI/youtube-dl", "category_name": "vod", "developer": "joyfuI"} \ No newline at end of file diff --git a/plugin.py b/plugin.py index be6c4bd..28a05db 100644 --- a/plugin.py +++ b/plugin.py @@ -10,7 +10,7 @@ from flask_login import login_required # sjva 공용 from framework.logger import get_logger -from framework import db +from framework import db, socketio from framework.util import Util # 로그 @@ -23,27 +23,10 @@ from .model import ModelSetting from .my_youtube_dl import Youtube_dl ######################################################### - +# 플러그인 공용 +######################################################### blueprint = Blueprint(package_name, package_name, url_prefix='/%s' % package_name, template_folder=os.path.join(os.path.dirname(__file__), 'templates')) -def plugin_load(): - Logic.plugin_load() - -def plugin_unload(): - Logic.plugin_unload() - -plugin_info = { - 'version': '1.2.3', - 'name': 'youtube-dl', - 'category_name': 'vod', - 'icon': '', - 'developer': 'joyfuI', - 'description': '유튜브, 네이버TV 등 동영상 사이트에서 동영상 다운로드', - 'home': 'https://github.com/joyfuI/youtube-dl', - 'more': '' -} - -# 메뉴 구성 menu = { 'main': [package_name, 'youtube-dl'], 'sub': [ @@ -52,6 +35,22 @@ menu = { 'category': 'vod' } +plugin_info = { + 'version': '1.2.3', + 'name': 'youtube-dl', + 'category_name': 'vod', + 'developer': 'joyfuI', + 'description': '유튜브, 네이버TV 등 동영상 사이트에서 동영상 다운로드', + 'home': 'https://github.com/joyfuI/youtube-dl', + 'more': '' +} + +def plugin_load(): + Logic.plugin_load() + +def plugin_unload(): + Logic.plugin_unload() + ######################################################### # WEB Menu ######################################################### @@ -63,23 +62,20 @@ def home(): @login_required def detail(sub): try: + arg = { 'package_name': package_name } + if sub == 'setting': setting_list = db.session.query(ModelSetting).all() - arg = Util.db_list_to_dict(setting_list) - arg['package_name'] = package_name + arg.update(Util.db_list_to_dict(setting_list)) arg['youtube_dl_version'] = Youtube_dl.get_version() return render_template('%s_setting.html' % package_name, arg=arg) elif sub == 'download': - arg = { } - arg['package_name'] = package_name arg['file_name'] = '%(title)s-%(id)s.%(ext)s' arg['preset_list'] = Logic.get_preset_list() return render_template('%s_download.html' % package_name, arg=arg) elif sub == 'list': - arg = { } - arg['package_name'] = package_name return render_template('%s_list.html' % package_name, arg=arg) elif sub == 'log': @@ -254,3 +250,22 @@ def api(sub): logger.error(traceback.format_exc()) abort(500) # 500 에러(서버 오류) abort(404) # 404 에러(페이지 없음) + +######################################################### +# socketio +######################################################### +@socketio.on('connect', namespace='/%s' % package_name) +def connect(): + try: + logger.debug('socket_connect') + except Exception as e: + logger.error('Exception:%s', e) + logger.error(traceback.format_exc()) + +@socketio.on('disconnect', namespace='/%s' % package_name) +def disconnect(): + try: + logger.debug('socket_disconnect') + except Exception as e: + logger.error('Exception:%s', e) + logger.error(traceback.format_exc()) diff --git a/templates/youtube-dl_list.html b/templates/youtube-dl_list.html index 061d3e0..bb3bce8 100644 --- a/templates/youtube-dl_list.html +++ b/templates/youtube-dl_list.html @@ -42,6 +42,8 @@ var package_name = '{{ arg["package_name"] }}'; $(function () { + // var socket = io.connect(location.origin + "/" + package_name); + $.ajax({ url: '/' + package_name + '/ajax/list', type: 'POST',