anilife update 2022.10.23(01.)

This commit is contained in:
2022-10-24 00:49:35 +09:00
parent 11a933a4f6
commit 5ff663e288
2 changed files with 438 additions and 296 deletions

View File

@@ -603,6 +603,8 @@ class LogicAniLife(LogicModuleBase):
options.add_argument("start-maximized") options.add_argument("start-maximized")
options.add_argument("--headless") options.add_argument("--headless")
options.add_argument("--no-sandbox") options.add_argument("--no-sandbox")
options.add_argument("window-size=1920x1080")
options.add_argument("disable-gpu")
# options.add_argument('--no-sandbox') # options.add_argument('--no-sandbox')
options.add_argument("--disable-dev-shm-usage") options.add_argument("--disable-dev-shm-usage")
options.add_experimental_option("excludeSwitches", ["enable-automation"]) options.add_experimental_option("excludeSwitches", ["enable-automation"])

View File

@@ -1,10 +1,31 @@
{% extends "base.html" %} {% block content %} {% extends "base.html" %} {% block content %}
<div> <div>
<div id="loader" class="loader">
<div class="loader-inner">
<div class="loader-line-wrap">
<div class="loader-line"></div>
</div>
<div class="loader-line-wrap">
<div class="loader-line"></div>
</div>
<div class="loader-line-wrap">
<div class="loader-line"></div>
</div>
<div class="loader-line-wrap">
<div class="loader-line"></div>
</div>
<div class="loader-line-wrap">
<div class="loader-line"></div>
</div>
</div>
</div>
<form id="program_list"> <form id="program_list">
{{ macros.setting_input_text_and_buttons('code', '작품 Code', {{ macros.setting_input_text_and_buttons('code', '작품 Code',
[['analysis_btn', '분석'], ['go_anilife_btn', 'Go 애니라이프']], desc='예) [['analysis_btn', '분석'], ['go_anilife_btn', 'Go 애니라이프']], desc='예)
"https://anilife.live/g/l?id=f6e83ec6-bd25-4d6c-9428-c10522687604" 이나 "f6e83ec6-bd25-4d6c-9428-c10522687604"') }} "https://anilife.live/g/l?id=f6e83ec6-bd25-4d6c-9428-c10522687604" 이나 "f6e83ec6-bd25-4d6c-9428-c10522687604"')
}}
</form> </form>
<form id="program_auto_form"> <form id="program_auto_form">
<div id="episode_list"></div> <div id="episode_list"></div>
@@ -23,7 +44,6 @@
}) })
function findGetParameter(parameterName) { function findGetParameter(parameterName) {
let result = null, let result = null,
tmp = []; tmp = [];
@@ -36,6 +56,8 @@
} }
function analyze(wr_id, bo_table) { function analyze(wr_id, bo_table) {
e.preventDefault();
e.stopPropagation()
// e.preventDefault(); // e.preventDefault();
const code = document.getElementById("code").value const code = document.getElementById("code").value
console.log(code) console.log(code)
@@ -50,6 +72,7 @@
// {#console.log(ret.code)#} // {#console.log(ret.code)#}
console.log(ret.data) console.log(ret.data)
make_program(ret.data) make_program(ret.data)
$("#loader").css("display", 'none')
} else { } else {
$.notify('<strong>분석 실패</strong><br>' + ret.log, {type: 'warning'}); $.notify('<strong>분석 실패</strong><br>' + ret.log, {type: 'warning'});
} }
@@ -59,7 +82,7 @@
function make_program(data) { function make_program(data) {
current_data = data; current_data = data;
console.log("current_data::", 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', '선택 다운로드 추가', []);
@@ -100,21 +123,22 @@
str += m_hr_black(); str += m_hr_black();
for (i in data.episode) { for (i in data.episode) {
str += m_row_start(); tmp = ''; str += m_row_start();
tmp = '';
if (data.episode[i].thumbnail) if (data.episode[i].thumbnail)
tmp = '<img src="'+ data.episode[i].thumbnail + '" class="img-fluid">' tmp = '<img src="' + data.episode[i].thumbnail + '" class="img-fluid">'
str += m_col(3, tmp) str += m_col(3, tmp)
tmp = '<strong>' + data.episode[i].ep_num + '화. ' + data.episode[i].title+ '</strong>'; tmp = '<strong>' + data.episode[i].ep_num + '화. ' + data.episode[i].title + '</strong>';
tmp += '<br>'; tmp += '<br>';
tmp += data.episode[i].date + '<br>'; tmp += data.episode[i].date + '<br>';
tmp += '<div class="form-inline">' tmp += '<div class="form-inline">'
tmp += '<input id="checkbox_'+i+'" name="checkbox_'+i+'" type="checkbox" checked data-toggle="toggle" data-on="선 택" data-off="-" data-onstyle="success" data-offstyle="danger" data-size="small">&nbsp;&nbsp;&nbsp;&nbsp;' tmp += '<input id="checkbox_' + i + '" name="checkbox_' + i + '" type="checkbox" checked data-toggle="toggle" data-on="선 택" data-off="-" data-onstyle="success" data-offstyle="danger" data-size="small">&nbsp;&nbsp;&nbsp;&nbsp;'
tmp += m_button('add_queue_btn', '다운로드 추가', [{'key':'idx', 'value':i}]) tmp += m_button('add_queue_btn', '다운로드 추가', [{'key': 'idx', 'value': i}])
tmp += '</div>' tmp += '</div>'
str += m_col(9, tmp) str += m_col(9, tmp)
str += m_row_end(); str += m_row_end();
if (i != data.length -1) str += m_hr(0); if (i != data.length - 1) str += m_hr(0);
} }
document.getElementById("episode_list").innerHTML = str; document.getElementById("episode_list").innerHTML = str;
$('input[id^="checkbox_"]').bootstrapToggle() $('input[id^="checkbox_"]').bootstrapToggle()
@@ -128,15 +152,15 @@
} else { } else {
document.getElementById("code").value = params.code document.getElementById("code").value = params.code
// {#document.getElementById("analysis_btn").click();#} document.getElementById("analysis_btn").click();
} }
if ( "{{arg['anilife_current_code']}}" !== "") { if ("{{arg['anilife_current_code']}}" !== "") {
if (params.code === null) { if (params.code === null) {
console.log('params.code === null') console.log('params.code === null')
document.getElementById("code").value = "{{arg['anilife_current_code']}}"; document.getElementById("code").value = "{{arg['anilife_current_code']}}";
} else if(params.code === '') { } else if (params.code === '') {
document.getElementById("code").value = "{{arg['anilife_current_code']}}"; document.getElementById("code").value = "{{arg['anilife_current_code']}}";
} else { } else {
@@ -156,24 +180,26 @@
}) })
$(document).ready(function(){ $(document).ready(function () {
$("#loader").css("display", 'none')
console.log('wr_id::', params.wr_id) // console.log('wr_id::', params.wr_id)
}); });
$("#analysis_btn").unbind("click").bind('click', function(e){ $("#analysis_btn").unbind("click").bind('click', function (e) {
e.preventDefault(); e.preventDefault();
e.stopPropagation() e.stopPropagation()
$("#loader").css("display", 'block')
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", type: "POST",
cache: false, cache: false,
data: {code:code}, data: {code: code},
dataType: "json", dataType: "json",
success: function (ret) { success: function (ret) {
$("#loader").css("display", 'none')
if (ret.ret === 'success' && ret.data != null) { if (ret.ret === 'success' && ret.data != null) {
// {#console.log(ret.code)#} // {#console.log(ret.code)#}
console.log(ret.data) console.log(ret.data)
@@ -186,22 +212,22 @@
}); });
$("body").on('click', '#go_anilife_btn', function(e){ $("body").on('click', '#go_anilife_btn', function (e) {
e.preventDefault(); e.preventDefault();
window.open("{{arg['anilife_url']}}", "_blank"); window.open("{{arg['anilife_url']}}", "_blank");
}); });
$("body").on('click', '#all_check_on_btn', function(e){ $("body").on('click', '#all_check_on_btn', function (e) {
e.preventDefault(); e.preventDefault();
$('input[id^="checkbox_"]').bootstrapToggle('on') $('input[id^="checkbox_"]').bootstrapToggle('on')
}); });
$("body").on('click', '#all_check_off_btn', function(e){ $("body").on('click', '#all_check_off_btn', function (e) {
e.preventDefault(); e.preventDefault();
$('input[id^="checkbox_"]').bootstrapToggle('off') $('input[id^="checkbox_"]').bootstrapToggle('off')
}); });
$("body").on('click', '#add_queue_btn', function(e){ $("body").on('click', '#add_queue_btn', function (e) {
e.preventDefault(); e.preventDefault();
data = current_data.episode[$(this).data('idx')]; data = current_data.episode[$(this).data('idx')];
console.log('data:::>', data) console.log('data:::>', data)
@@ -209,7 +235,7 @@
url: '/' + package_name + '/ajax/' + sub + '/add_queue', url: '/' + package_name + '/ajax/' + sub + '/add_queue',
type: "POST", type: "POST",
cache: false, cache: false,
data: {data:JSON.stringify(data)}, data: {data: JSON.stringify(data)},
dataType: "json", dataType: "json",
success: function (data) { success: function (data) {
console.log('#add_queue_btn::data >>', data) console.log('#add_queue_btn::data >>', data)
@@ -227,7 +253,7 @@
}); });
$("body").on('click', '#check_download_btn', function(e){ $("body").on('click', '#check_download_btn', function (e) {
e.preventDefault(); e.preventDefault();
all = $('input[id^="checkbox_"]'); all = $('input[id^="checkbox_"]');
let data = []; let data = [];
@@ -246,7 +272,7 @@
url: '/' + package_name + '/ajax/' + sub + '/add_queue_checked_list', url: '/' + package_name + '/ajax/' + sub + '/add_queue_checked_list',
type: "POST", type: "POST",
cache: false, cache: false,
data: {data:JSON.stringify(data)}, data: {data: JSON.stringify(data)},
dataType: "json", dataType: "json",
success: function (data) { success: function (data) {
$.notify('<strong>백그라운드로 작업을 추가합니다.</strong>', {type: 'success'}); $.notify('<strong>백그라운드로 작업을 추가합니다.</strong>', {type: 'success'});
@@ -258,6 +284,7 @@
button.code-button { button.code-button {
min-width: 82px !important; min-width: 82px !important;
} }
.tooltip { .tooltip {
position: relative; position: relative;
display: block; display: block;
@@ -306,6 +333,7 @@
left: 0; left: 0;
opacity: 1; opacity: 1;
} }
[data-tooltip-text]:hover { [data-tooltip-text]:hover {
position: relative; position: relative;
} }
@@ -364,5 +392,117 @@
#screen_movie_list { #screen_movie_list {
margin-top: 10px; margin-top: 10px;
} }
.loader {
background: rgb(0, 0, 0, 0.8);
background: radial-gradient(#222, #000);
bottom: 0;
left: 0;
overflow: hidden;
position: fixed;
right: 0;
top: 0;
z-index: 99999;
}
.loader-inner {
bottom: 0;
height: 60px;
left: 0;
margin: auto;
position: absolute;
right: 0;
top: 0;
width: 100px;
}
.loader-line-wrap {
animation: spin 2000ms cubic-bezier(.175, .885, .32, 1.275) infinite;
box-sizing: border-box;
height: 50px;
left: 0;
overflow: hidden;
position: absolute;
top: 0;
transform-origin: 50% 100%;
width: 100px;
}
.loader-line {
border: 4px solid transparent;
border-radius: 100%;
box-sizing: border-box;
height: 100px;
left: 0;
margin: 0 auto;
position: absolute;
right: 0;
top: 0;
width: 100px;
}
.loader-line-wrap:nth-child(1) {
animation-delay: -50ms;
}
.loader-line-wrap:nth-child(2) {
animation-delay: -100ms;
}
.loader-line-wrap:nth-child(3) {
animation-delay: -150ms;
}
.loader-line-wrap:nth-child(4) {
animation-delay: -200ms;
}
.loader-line-wrap:nth-child(5) {
animation-delay: -250ms;
}
.loader-line-wrap:nth-child(1) .loader-line {
border-color: hsl(0, 80%, 60%);
height: 90px;
width: 90px;
top: 7px;
}
.loader-line-wrap:nth-child(2) .loader-line {
border-color: hsl(60, 80%, 60%);
height: 76px;
width: 76px;
top: 14px;
}
.loader-line-wrap:nth-child(3) .loader-line {
border-color: hsl(120, 80%, 60%);
height: 62px;
width: 62px;
top: 21px;
}
.loader-line-wrap:nth-child(4) .loader-line {
border-color: hsl(180, 80%, 60%);
height: 48px;
width: 48px;
top: 28px;
}
.loader-line-wrap:nth-child(5) .loader-line {
border-color: hsl(240, 80%, 60%);
height: 34px;
width: 34px;
top: 35px;
}
@keyframes spin {
0%, 15% {
transform: rotate(0);
}
100% {
transform: rotate(360deg);
}
}
</style> </style>
{% endblock %} {% endblock %}