v1.3.5
This commit is contained in:
@@ -131,6 +131,8 @@ API에선 직접 비트레이트를 설정할 수 있습니다.
|
|||||||
물론 해당 정보가 없으면 null입니다.
|
물론 해당 정보가 없으면 null입니다.
|
||||||
|
|
||||||
## Changelog
|
## Changelog
|
||||||
|
v1.3.5
|
||||||
|
|
||||||
v1.3.4
|
v1.3.4
|
||||||
* 플러그인 구조를 가이드에 맞춰 변경
|
* 플러그인 구조를 가이드에 맞춰 변경
|
||||||
플러그인 설정이 초기화됩니다.
|
플러그인 설정이 초기화됩니다.
|
||||||
|
|||||||
@@ -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"}
|
||||||
11
logic.py
11
logic.py
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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>', {
|
||||||
|
|||||||
@@ -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>';
|
||||||
|
|||||||
@@ -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',
|
||||||
|
|||||||
Reference in New Issue
Block a user