anime-downloader bug fix 19.

check download fix
This commit is contained in:
2022-04-08 22:26:24 +09:00
parent 846ff82a06
commit a797423576
2 changed files with 218 additions and 181 deletions

View File

@@ -1,14 +1,14 @@
{% extends "base.html" %} {% extends "base.html" %}
{% block content %} {% block content %}
{#<div>#} <!--{#<div>#}-->
{# <form id='program_list'>#} <!--{# <form id='program_list'>#}-->
{# {{ macros.setting_input_text_and_buttons('code', '작품 Code', [['analysis_btn', '분석'], ['go_ohli24_btn', 'Go OHLI24']], desc='예) "https://ohli24.net/c/녹을 먹는 비스코" 이나 "녹을 먹는 비스코"') }}#} <!--{# {{ macros.setting_input_text_and_buttons('code', '작품 Code', [['analysis_btn', '분석'], ['go_ohli24_btn', 'Go OHLI24']], desc='예) "https://ohli24.net/c/녹을 먹는 비스코" 이나 "녹을 먹는 비스코"') }}#}-->
{# </form>#} <!--{# </form>#}-->
{# <form id="program_auto_form">#} <!--{# <form id="program_auto_form">#}-->
{# <div id='episode_list'></div>#} <!--{# <div id='episode_list'></div>#}-->
{# </form>#} <!--{# </form>#}-->
{#</div> <!--전체-->#} <!--{#</div> &lt;!&ndash;전체&ndash;&gt;#}-->
<div> <div>
<div id="anime_category" class="btn-group" role="group" aria-label="Basic example"> <div id="anime_category" class="btn-group" role="group" aria-label="Basic example">
@@ -99,19 +99,13 @@
let str = '' let str = ''
let tmp = '' let tmp = ''
// {#str += "<d"#}
// {#str += m_hr_black();#}
// {#str += m_row_start(0);#}
// {##}
// {#str += m_row_end();#}
// {#str += m_hr_black();#}
str += '<div>'; str += '<div>';
str += '<button type="button" class="btn btn-info">Page <span class="badge bg-warning">' + page + '</span></button>'; str += '<button type="button" class="btn btn-info">Page <span class="badge bg-warning">' + page + '</span></button>';
str += '</div>'; str += '</div>';
str += '<div id="inner_screen_movie" class="row infinite-scroll">'; str += '<div id="inner_screen_movie" class="row infinite-scroll">';
for (let i in data.anime_list) { for (let i in data.anime_list) {
tmp = '<div class="col-sm-4">'; tmp = '<div class="col-6 col-sm-4 col-md-3">';
tmp += '<div class="card">'; tmp += '<div class="card">';
tmp += '<img class="lozad" data-src="' + data.anime_list[i].image_link + '" />'; tmp += '<img class="lozad" data-src="' + data.anime_list[i].image_link + '" />';
tmp += '<div class="card-body">' tmp += '<div class="card-body">'
@@ -300,6 +294,11 @@
position: relative; position: relative;
display: block; display: block;
} }
@media (min-width: 576px) {
.container {
max-width: 100%;
}
}
[data-tooltip-text]:hover { [data-tooltip-text]:hover {
position: relative; position: relative;

View File

@@ -20,6 +20,17 @@
get: (searchParams, prop) => searchParams.get(prop), get: (searchParams, prop) => searchParams.get(prop),
}) })
function findGetParameter(parameterName) {
let result = null,
tmp = [];
const items = location.search.substr(1).split("&");
for (let index = 0; index < items.length; index++) {
tmp = items[index].split("=");
if (tmp[0] === parameterName) result = decodeURIComponent(tmp[1]);
}
return result;
}
function analyze() { function analyze() {
// e.preventDefault(); // e.preventDefault();
const code = document.getElementById("code").value const code = document.getElementById("code").value
@@ -44,7 +55,7 @@
function make_program(data) { function make_program(data) {
current_data = data; current_data = data;
console.log(current_data) console.log("current_data::", current_data)
str = ''; str = '';
tmp = '<div class="form-inline">' tmp = '<div class="form-inline">'
tmp += m_button('check_download_btn', '선택 다운로드 추가', []); tmp += m_button('check_download_btn', '선택 다운로드 추가', []);
@@ -134,12 +145,12 @@
} }
}) })
$(document).ready(function(){ $(document).ready(function(){
});
// $('#analysis_btn').unbind("click").bind('click', function (e) { // $('#analysis_btn').unbind("click").bind('click', function (e) {
// e.preventDefault(); // e.preventDefault();
@@ -149,182 +160,209 @@
// console.log(code) // console.log(code)
// }) // })
// $("body").unbind('click', '#analysis_btn') // $("body").unbind('click', '#analysis_btn')
// 분석 버튼 클릭시 호출 // 분석 버튼 클릭시 호출
// $("body").on('click', '#analysis_btn', function(e){ // $("body").on('click', '#analysis_btn', function(e){
$("#analysis_btn").unbind("click").bind('click', function(e){ $("#analysis_btn").unbind("click").bind('click', function(e){
e.preventDefault(); e.preventDefault();
e.stopPropagation() e.stopPropagation()
const code = document.getElementById("code").value const code = document.getElementById("code").value
console.log(code) console.log(code)
$.ajax({ $.ajax({
url: '/' + package_name + '/ajax/' + sub + '/analysis', url: '/' + package_name + '/ajax/' + sub + '/analysis',
type: "POST",
cache: false,
data: {code:code},
dataType: "json",
success: function (ret) {
if (ret.ret === 'success' && ret.data != null) {
// {#console.log(ret.code)#}
console.log(ret.data)
make_program(ret.data)
} else {
$.notify('<strong>분석 실패</strong><br>' + ret.log, {type: 'warning'});
}
}
});
});
$("body").on('click', '#go_ohli24_btn', function(e){
e.preventDefault();
window.open("{{arg['ohli24_url']}}", "_blank");
});
$("body").on('click', '#all_check_on_btn', function(e){
e.preventDefault();
$('input[id^="checkbox_"]').bootstrapToggle('on')
});
$("body").on('click', '#all_check_off_btn', function(e){
e.preventDefault();
$('input[id^="checkbox_"]').bootstrapToggle('off')
});
$("body").on('click', '#add_queue_btn', function(e){
e.preventDefault();
data = current_data.episode[$(this).data('idx')];
console.log('data:::>', data)
$.ajax({
url: '/' + package_name + '/ajax/' + sub + '/add_queue',
type: "POST", type: "POST",
cache: false, cache: false,
data: {code:code}, data: {data:JSON.stringify(data)},
dataType: "json", dataType: "json",
success: function (ret) { success: function (data) {
if (ret.ret === 'success' && ret.data != null) { if (data.ret == 'enqueue_db_append' || data.ret == 'enqueue_db_exist') {
{#console.log(ret.code)#} $.notify('<strong>다운로드 작업을 추가 하였습니다.</strong>', {type: 'success'});
console.log(ret.data) } else if (data.ret == 'queue_exist') {
make_program(ret.data) $.notify('<strong>이미 큐에 있습니다. 삭제 후 추가하세요.</strong>', {type: 'warning'});
} else { } else if (data.ret == 'db_completed') {
$.notify('<strong>분석 실패</strong><br>' + ret.log, {type: 'warning'}); $.notify('<strong>DB에 완료 기록이 있습니다.</strong>', {type: 'warning'});
} } else {
$.notify('<strong>추가 실패</strong><br>' + ret.log, {type: 'warning'});
}
} }
});
}); });
});
$("body").on('click', '#check_download_btn', function(e){
$("body").on('click', '#go_ohli24_btn', function(e){ e.preventDefault();
e.preventDefault(); all = $('input[id^="checkbox_"]');
window.open("{{arg['ohli24_url']}}", "_blank"); let data = [];
}); let idx;
for (let i in all) {
$("body").on('click', '#all_check_on_btn', function(e){ if (all[i].checked) {
e.preventDefault(); idx = parseInt(all[i].id.split('_')[1])
$('input[id^="checkbox_"]').bootstrapToggle('on') data.push(current_data.episode[idx]);
}); }
}
$("body").on('click', '#all_check_off_btn', function(e){ if (data.length == 0) {
e.preventDefault(); $.notify('<strong>선택하세요.</strong>', {type: 'warning'});
$('input[id^="checkbox_"]').bootstrapToggle('off') return;
});
$("body").on('click', '#add_queue_btn', function(e){
e.preventDefault();
data = current_data.episode[$(this).data('idx')];
console.log('data:::>', data)
$.ajax({
url: '/' + package_name + '/ajax/' + sub + '/add_queue',
type: "POST",
cache: false,
data: {data:JSON.stringify(data)},
dataType: "json",
success: function (data) {
if (data.ret == 'enqueue_db_append' || data.ret == 'enqueue_db_exist') {
$.notify('<strong>다운로드 작업을 추가 하였습니다.</strong>', {type: 'success'});
} else if (data.ret == 'queue_exist') {
$.notify('<strong>이미 큐에 있습니다. 삭제 후 추가하세요.</strong>', {type: 'warning'});
} else if (data.ret == 'db_completed') {
$.notify('<strong>DB에 완료 기록이 있습니다.</strong>', {type: 'warning'});
} else {
$.notify('<strong>추가 실패</strong><br>' + ret.log, {type: 'warning'});
} }
} $.ajax({
}); url: '/' + package_name + '/ajax/' + sub + '/add_queue_checked_list',
type: "POST",
cache: false,
data: {data:JSON.stringify(data)},
dataType: "json",
success: function (data) {
$.notify('<strong>백그라운드로 작업을 추가합니다.</strong>', {type: 'success'});
}
});
});
});
});
</script> </script>
<style> <style>
button.code-button { min-width: 82px!important;} button.code-button { min-width: 82px!important;}
.tooltip { .tooltip {
position: relative; position: relative;
display: block; display: block;
} }
[data-tooltip-text]:hover { [data-tooltip-text]:hover {
position: relative; position: relative;
}
[data-tooltip-text]:after {
-webkit-transition: bottom .3s ease-in-out, opacity .3s ease-in-out;
-moz-transition: bottom .3s ease-in-out, opacity .3s ease-in-out;
transition: bottom .3s ease-in-out, opacity .3s ease-in-out;
background-color: rgba(0, 0, 0, 0.8);
-webkit-box-shadow: 0px 0px 3px 1px rgba(50, 50, 50, 0.4);
-moz-box-shadow: 0px 0px 3px 1px rgba(50, 50, 50, 0.4);
box-shadow: 0px 0px 3px 1px rgba(50, 50, 50, 0.4);
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
color: #FFFFFF;
font-size: 12px;
margin-bottom: 10px;
padding: 7px 12px;
position: absolute;
width: auto;
min-width: 50px;
max-width: 300px;
word-wrap: break-word;
z-index: 9999;
opacity: 0;
left: -9999px;
top: 90%;
content: attr(data-tooltip-text);
}
[data-tooltip-text]:hover:after {
top: 230%;
left: 0;
opacity: 1;
}[data-tooltip-text]:hover {
position: relative;
}
[data-tooltip-text]:after {
-webkit-transition: bottom .3s ease-in-out, opacity .3s ease-in-out;
-moz-transition: bottom .3s ease-in-out, opacity .3s ease-in-out;
transition: bottom .3s ease-in-out, opacity .3s ease-in-out;
background-color: rgba(0, 0, 0, 0.8);
-webkit-box-shadow: 0px 0px 3px 1px rgba(50, 50, 50, 0.4);
-moz-box-shadow: 0px 0px 3px 1px rgba(50, 50, 50, 0.4);
box-shadow: 0px 0px 3px 1px rgba(50, 50, 50, 0.4);
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
color: #FFFFFF;
font-size: 12px;
margin-bottom: 10px;
padding: 7px 12px;
position: absolute;
width: auto;
min-width: 50px;
max-width: 300px;
word-wrap: break-word;
z-index: 9999;
opacity: 0;
left: -9999px;
top: -210%!important;
content: attr(data-tooltip-text);
}
[data-tooltip-text]:hover:after {
top: 130%;
left: 0;
opacity: 1;
}
#airing_list {
display: none;
}
.cut-text {
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
width: 100%;
}
#screen_movie_list {
margin-top: 10px
} }
[data-tooltip-text]:after { </style>
-webkit-transition: bottom .3s ease-in-out, opacity .3s ease-in-out;
-moz-transition: bottom .3s ease-in-out, opacity .3s ease-in-out;
transition: bottom .3s ease-in-out, opacity .3s ease-in-out;
background-color: rgba(0, 0, 0, 0.8);
-webkit-box-shadow: 0px 0px 3px 1px rgba(50, 50, 50, 0.4);
-moz-box-shadow: 0px 0px 3px 1px rgba(50, 50, 50, 0.4);
box-shadow: 0px 0px 3px 1px rgba(50, 50, 50, 0.4);
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
color: #FFFFFF;
font-size: 12px;
margin-bottom: 10px;
padding: 7px 12px;
position: absolute;
width: auto;
min-width: 50px;
max-width: 300px;
word-wrap: break-word;
z-index: 9999;
opacity: 0;
left: -9999px;
top: 90%;
content: attr(data-tooltip-text);
}
[data-tooltip-text]:hover:after {
top: 230%;
left: 0;
opacity: 1;
}[data-tooltip-text]:hover {
position: relative;
}
[data-tooltip-text]:after {
-webkit-transition: bottom .3s ease-in-out, opacity .3s ease-in-out;
-moz-transition: bottom .3s ease-in-out, opacity .3s ease-in-out;
transition: bottom .3s ease-in-out, opacity .3s ease-in-out;
background-color: rgba(0, 0, 0, 0.8);
-webkit-box-shadow: 0px 0px 3px 1px rgba(50, 50, 50, 0.4);
-moz-box-shadow: 0px 0px 3px 1px rgba(50, 50, 50, 0.4);
box-shadow: 0px 0px 3px 1px rgba(50, 50, 50, 0.4);
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
color: #FFFFFF;
font-size: 12px;
margin-bottom: 10px;
padding: 7px 12px;
position: absolute;
width: auto;
min-width: 50px;
max-width: 300px;
word-wrap: break-word;
z-index: 9999;
opacity: 0;
left: -9999px;
top: -210%!important;
content: attr(data-tooltip-text);
}
[data-tooltip-text]:hover:after {
top: 130%;
left: 0;
opacity: 1;
}
#airing_list {
display: none;
}
.cut-text {
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
width: 100%;
}
#screen_movie_list {
margin-top: 10px
}
</style>
{% endblock %} {% endblock %}