diff --git a/logic_anilife.py b/logic_anilife.py index d065941..e0ef604 100644 --- a/logic_anilife.py +++ b/logic_anilife.py @@ -574,8 +574,6 @@ class LogicAniLife(LogicModuleBase): # page.reload() # time.sleep(10) - # cookies = context.cookies - # print(cookies) # print(page.content()) # vod_url = page.evaluate( @@ -588,28 +586,11 @@ class LogicAniLife(LogicModuleBase): # return _0x55265f(0x99) + alJson[_0x55265f(0x91)] # }""" # ) - result_har_json = har.to_json() - result_har_dict = har.to_dict() - # logger.debug(result_har_dict) + # result_har_json = har.to_json() - tmp_video_url = [] - for i, elem in enumerate(result_har_dict["log"]["entries"]): - # if "m3u8" in elem["request"]["url"]: - if "m3u8" in elem["request"]["url"]: - logger.debug(elem["request"]["url"]) - tmp_video_url.append(elem["request"]["url"]) + await context.close() + await browser.close() - logger.debug(tmp_video_url) - vod_url = tmp_video_url[-1] - for i, el in enumerate(tmp_video_url): - if el.endswith("m3u8"): - vod_url = el - - logger.debug(f"vod_url:: {vod_url}") - - logger.debug(f"run at {time.time() - start} sec") - - return vod_url except Exception as e: logger.error("Exception:%s", e) result = subprocess.run( @@ -618,9 +599,32 @@ class LogicAniLife(LogicModuleBase): print(result.stdout) logger.error(traceback.format_exc()) + finally: await browser.close() + result_har_dict = har.to_dict() + # logger.debug(result_har_dict) + + tmp_video_url = [] + for i, elem in enumerate(result_har_dict["log"]["entries"]): + # if "m3u8" in elem["request"]["url"]: + if "m3u8" in elem["request"]["url"]: + logger.debug(elem["request"]["url"]) + tmp_video_url.append(elem["request"]["url"]) + + logger.debug(tmp_video_url) + vod_url = tmp_video_url[-1] + for i, el in enumerate(tmp_video_url): + if el.endswith("m3u8"): + vod_url = el + + logger.debug(f"vod_url:: {vod_url}") + + logger.debug(f"run at {time.time() - start} sec") + + return vod_url + @staticmethod @yommi_timeit def get_html_selenium( diff --git a/static/js/sjva_global1.js b/static/js/sjva_global1.js new file mode 100644 index 0000000..b371f25 --- /dev/null +++ b/static/js/sjva_global1.js @@ -0,0 +1,67 @@ +function global_sub_request_search(page, move_top=true) { + var formData = get_formdata('#form_search') + formData += '&page=' + page; + $.ajax({ + url: '/' + package_name + '/ajax/' + sub + '/web_list', + type: "POST", + cache: false, + data: formData, + dataType: "json", + success: function (data) { + current_data = data; + if (move_top) + window.scrollTo(0,0); + make_list(data.list) + make_page_html(data.paging) + } + }); +} + +function get_formdata(form_id) { + // on, off 일수도 있으니 모두 True, False로 통일하고 + // 밑에서는 False인 경우 값이 추가되지 않으니.. 수동으로 넣어줌 + var checkboxs = $(form_id + ' input[type=checkbox]'); + //for (var i in checkboxs) { + for (var i =0 ; i < checkboxs.length; i++) { + if ( $(checkboxs[i]).is(':checked') ) { + $(checkboxs[i]).val('True'); + } else { + $(checkboxs[i]).val('False'); + } + } + var formData = $(form_id).serialize(); + $.each($(form_id + ' input[type=checkbox]') + .filter(function(idx) { + return $(this).prop('checked') === false + }), + function(idx, el) { + var emptyVal = "False"; + formData += '&' + $(el).attr('name') + '=' + emptyVal; + } + ); + formData = formData.replace("&global_scheduler=True", "") + formData = formData.replace("&global_scheduler=False", "") + formData = formData.replace("global_scheduler=True&", "") + formData = formData.replace("global_scheduler=False&", "") + return formData; +} + +function globalRequestSearch2(page, move_top = true) { + var formData = getFormdata("#form_search") + formData += "&page=" + page + console.log(formData) + $.ajax({ + url: "/" + PACKAGE_NAME + "/ajax/" + MODULE_NAME + "/web_list2", + type: "POST", + cache: false, + data: formData, + dataType: "json", + success: function (data) { + current_data = data + if (move_top) window.scrollTo(0, 0) + make_list(data.list) + make_page_html(data.paging) + }, + }) +} + diff --git a/static/js/sjva_ui14.js b/static/js/sjva_ui14.js new file mode 100644 index 0000000..cb3c8a0 --- /dev/null +++ b/static/js/sjva_ui14.js @@ -0,0 +1,204 @@ + + +function m_row_start(padding='10', align='center') { + var str = '
'; + return str; +} +function m_row_start_hover(padding='10', align='center') { + var str = '
'; + return str; +} +function m_row_start_top(padding='10') { + return m_row_start(padding, 'top'); +} +function m_row_start_color(padding='10', align='center', color='') { + var str = '
'; + return str; +} +function m_row_start_color2(padding='10', align='center') { + var str = '
'; + return str; +} + +function m_row_end() { + var str = '
'; + return str; +} + +//border +function m_col(w, h, align='left') { + var str = '
'; + str += h + str += '
'; + return str +} + +function m_col2(w, h, align='left') { + var str = '
'; + str += h + str += '
'; + return str +} + + +function m_button_group(h) { + var str = '
'; + str += h + str += '
'; + return str; +} + +function m_button(id, text, data) { + var str = '' + } + + for (var i = data.start_page ; i <= data.last_page ; i++) { + str += '' + } + + str += '
\ +
\ +
\ + \ + ' + document.getElementById("page1").innerHTML = str; + document.getElementById("page2").innerHTML = str; +} + +function use_collapse(div, reverse=false) { + var ret = $('#' + div).prop('checked'); + if (reverse) { + if (ret) { + $('#' + div + '_div').collapse('hide') + } else { + $('#' + div + '_div').collapse('show') + } + } else { + if (ret) { + $('#' + div + '_div').collapse('show') + } else { + $('#' + div + '_div').collapse('hide') + } + } +} + + +// primary, secondary, success, danger, warning, info, light, dark, white +function j_button(id, text, data={}, color='primary', outline=true, small=false, _class='') { + let str = '