This commit is contained in:
joyfuI
2020-03-16 14:14:37 +09:00
parent 728967327e
commit 181b51fa1c
7 changed files with 18 additions and 25 deletions

View File

@@ -131,6 +131,8 @@ API에선 직접 비트레이트를 설정할 수 있습니다.
물론 해당 정보가 없으면 null입니다. 물론 해당 정보가 없으면 null입니다.
## Changelog ## Changelog
v1.3.5
v1.3.4 v1.3.4
* 플러그인 구조를 가이드에 맞춰 변경 * 플러그인 구조를 가이드에 맞춰 변경
플러그인 설정이 초기화됩니다. 플러그인 설정이 초기화됩니다.

View File

@@ -1 +1 @@
{"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.3.4", "home": "https://github.com/joyfuI/youtube-dl", "category_name": "vod", "developer": "joyfuI"} {"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.3.5", "home": "https://github.com/joyfuI/youtube-dl", "category_name": "vod", "developer": "joyfuI"}

View File

@@ -2,9 +2,9 @@
######################################################### #########################################################
# python # python
import os import os
import sys
import subprocess import subprocess
import traceback import traceback
import platform
# third-party # third-party
@@ -43,21 +43,16 @@ class Logic(object):
logger.debug('%s plugin_load', package_name) logger.debug('%s plugin_load', package_name)
Logic.db_init() # DB 초기화 Logic.db_init() # DB 초기화
if platform.system() == 'Windows': # 윈도우일 때
pip = 'pip.exe'
else:
pip = 'pip'
try: try:
import glob2 import glob2
except Exception as e: except Exception as e:
# glob2 설치 # glob2 설치
logger.debug('glob2 install') logger.debug('glob2 install')
logger.debug(subprocess.check_output([pip, 'install', 'glob2'], universal_newlines=True)) logger.debug(subprocess.check_output([sys.executable, '-m', 'pip', 'install', 'glob2'], universal_newlines=True))
# youtube-dl 업데이트 # youtube-dl 업데이트
logger.debug('youtube-dl upgrade') logger.debug('youtube-dl upgrade')
logger.debug(subprocess.check_output([pip, 'install', '--upgrade', 'youtube-dl'], universal_newlines=True)) logger.debug(subprocess.check_output([sys.executable, '-m', 'pip', 'install', '--upgrade', 'youtube-dl'], universal_newlines=True))
# 편의를 위해 json 파일 생성 # 편의를 위해 json 파일 생성
from plugin import plugin_info from plugin import plugin_info

View File

@@ -34,7 +34,7 @@ menu = {
} }
plugin_info = { plugin_info = {
'version': '1.3.4', 'version': '1.3.5',
'name': 'youtube-dl', 'name': 'youtube-dl',
'category_name': 'vod', 'category_name': 'vod',
'developer': 'joyfuI', 'developer': 'joyfuI',
@@ -65,16 +65,16 @@ def first_menu(sub):
if sub == 'setting': if sub == 'setting':
arg.update(ModelSetting.to_dict()) arg.update(ModelSetting.to_dict())
arg['youtube_dl_version'] = Youtube_dl.get_version() arg['youtube_dl_version'] = Youtube_dl.get_version()
return render_template('%s_setting.html' % package_name, arg=arg) return render_template('%s_%s.html' % (package_name, sub), arg=arg)
elif sub == 'download': elif sub == 'download':
arg['file_name'] = ModelSetting.get('default_filename') arg['file_name'] = ModelSetting.get('default_filename')
arg['preset_list'] = LogicNormal.get_preset_list() arg['preset_list'] = LogicNormal.get_preset_list()
arg['postprocessor_list'] = LogicNormal.get_postprocessor_list() arg['postprocessor_list'] = LogicNormal.get_postprocessor_list()
return render_template('%s_download.html' % package_name, arg=arg) return render_template('%s_%s.html' % (package_name, sub), arg=arg)
elif sub == 'list': elif sub == 'list':
return render_template('%s_list.html' % package_name, arg=arg) return render_template('%s_%s.html' % (package_name, sub), arg=arg)
elif sub == 'log': elif sub == 'log':
return render_template('log.html', package=package_name) return render_template('log.html', package=package_name)

View File

@@ -45,25 +45,25 @@
$(function () { $(function () {
// 프리셋 변경 // 프리셋 변경
$('#preset').change(function (e) { $('#preset').change(function () {
if ($(this).val() === '_custom') { if ($(this).val() === '_custom') {
return; return;
} }
$('#format').val($(this).val()); $('#format').val($(this).val());
}); });
$('#format').change(function (e) { $('#format').change(function () {
$('#preset').val('_custom'); $('#preset').val('_custom');
}); });
// 후처리 변경 // 후처리 변경
$('#postprocessor').change(function (e) { $('#postprocessor').change(function () {
if ($(this).find($('option[value="' + $(this).val() + '"]')).parent().attr('label') === '오디오 추출') { if ($(this).find($('option[value="' + $(this).val() + '"]')).parent().attr('label') === '오디오 추출') {
$('#preset').val('bestaudio/best').change(); $('#preset').val('bestaudio/best').change();
} }
}); });
// 다운로드 // 다운로드
$('#download_start').click(function (e) { $('#download_start').click(function () {
var url = $('#url').val(); var url = $('#url').val();
if (url.startsWith('http') === false) { if (url.startsWith('http') === false) {
$.notify('<strong>URL을 입력하세요.</strong>', { $.notify('<strong>URL을 입력하세요.</strong>', {

View File

@@ -11,11 +11,9 @@
word-break: break-all; word-break: break-all;
} }
.row > div:nth-child(odd) { .row > div:nth-child(odd) {
align-items: right;
text-align: right; text-align: right;
} }
.row > div:nth-child(even) { .row > div:nth-child(even) {
align-items: left;
text-align: left; text-align: left;
} }
</style> </style>
@@ -51,17 +49,15 @@
data: { }, data: { },
dataType: 'json', dataType: 'json',
success: function (data) { success: function (data) {
var list = $('#list');
list.html('');
var str = ''; var str = '';
for (var i in data) { for (var i in data) {
str += make_item(data[i]); str += make_item(data[i]);
} }
list.html(str); $('#list').html(str);
} }
}); });
$('body').on('click', '#stop', function (e) { $('#list').on('click', '.youtube-dl_stop', function () {
var index = $(this).data('index'); var index = $(this).data('index');
$.ajax({ $.ajax({
url: '/' + package_name + '/ajax/stop', url: '/' + package_name + '/ajax/stop',
@@ -95,7 +91,7 @@
str += '<td id="download_time_' + data.index + '" scope="col">' + data.download_time + '</td>'; str += '<td id="download_time_' + data.index + '" scope="col">' + data.download_time + '</td>';
str += '<td id="button_' + data.index + '" scope="col" class="tableRowHoverOff">'; str += '<td id="button_' + data.index + '" scope="col" class="tableRowHoverOff">';
if (data.status_str === 'START' || data.status_str === 'DOWNLOADING' || data.status_str === 'FINISHED') { if (data.status_str === 'START' || data.status_str === 'DOWNLOADING' || data.status_str === 'FINISHED') {
str += '<button id="stop" class="align-middle btn btn-outline-danger btn-sm" data-index="' + data.index + '">중지</button>'; str += '<button class="align-middle btn btn-outline-danger btn-sm youtube-dl_stop" data-index="' + data.index + '">중지</button>';
} }
str += '</td>'; str += '</td>';
str += '</tr>'; str += '</tr>';

View File

@@ -17,7 +17,7 @@
$(function () { $(function () {
// 설정 저장 // 설정 저장
$('#setting_save').click(function (e) { $('#setting_save').click(function () {
var formData = get_formdata('#setting'); var formData = get_formdata('#setting');
$.ajax({ $.ajax({
url: '/' + package_name + '/ajax/setting_save', url: '/' + package_name + '/ajax/setting_save',