Compare commits

...

5 Commits

Author SHA1 Message Date
9779d82ad7 video hls url quality 누락시 720p 고정 2022-04-14 23:06:34 +09:00
1bebd593f7 IndexError 2022-04-13 15:19:20 +09:00
62356738bb IndexError 2022-04-13 15:18:08 +09:00
4da03ab7ff blueprint add static_folder 2022-04-12 23:58:58 +09:00
0ad6c9c59a blueprint add static_folder 2022-04-12 23:57:13 +09:00
6 changed files with 78 additions and 32 deletions

View File

@@ -352,7 +352,10 @@ class LogicOhli24(LogicModuleBase):
span = item.xpath(".//span//text()") span = item.xpath(".//span//text()")
logger.info(span) logger.info(span)
key = description_dict[span[0]] key = description_dict[span[0]]
des[key] = item.xpath(".//span/text()")[1] try:
des[key] = item.xpath(".//span/text()")[1]
except IndexError:
des[key] = ""
logger.info(f"des::>> {des}") logger.info(f"des::>> {des}")
image = image.replace("..", P.ModelSetting.get("ohli24_url")) image = image.replace("..", P.ModelSetting.get("ohli24_url"))
@@ -657,7 +660,7 @@ class Ohli24QueueEntity(FfmpegQueueEntity):
# logger.info('match groups:: %s', match.groups()) # logger.info('match groups:: %s', match.groups())
# logger.info('match group3:: %s', match.group(3)) # logger.info('match group3:: %s', match.group(3))
# print('packed_script==>', packed_script) # print('packed_script==>', packed_script)
logger.debug(unpack_script) # logger.debug(unpack_script)
p1 = re.compile(r"(\"tracks\".*\])\,\"captions\"", re.MULTILINE | re.DOTALL) p1 = re.compile(r"(\"tracks\".*\])\,\"captions\"", re.MULTILINE | re.DOTALL)
m2 = re.search( m2 = re.search(
@@ -719,8 +722,10 @@ class Ohli24QueueEntity(FfmpegQueueEntity):
self.url = stream_info[1].strip() self.url = stream_info[1].strip()
match = re.compile(r'NAME="(?P<quality>.*?)"').search(stream_info[0]) match = re.compile(r'NAME="(?P<quality>.*?)"').search(stream_info[0])
self.quality = match.group("quality") self.quality = "720P"
logger.info(self.quality) if match is not None:
self.quality = match.group("quality")
logger.info(self.quality)
match = re.compile( match = re.compile(
r"(?P<title>.*?)\s*((?P<season>\d+)%s)?\s*((?P<epi_no>\d+)%s)" r"(?P<title>.*?)\s*((?P<season>\d+)%s)?\s*((?P<epi_no>\d+)%s)"

View File

@@ -6,8 +6,10 @@
# @Software: PyCharm # @Software: PyCharm
import os, traceback import os, traceback
# third-party # third-party
from flask import Blueprint from flask import Blueprint
# sjva 공용 # sjva 공용
from framework.logger import get_logger from framework.logger import get_logger
from framework import app, path_data from framework import app, path_data
@@ -17,56 +19,71 @@ from plugin import get_model_setting, Logic, default_route, PluginUtil
####################################################################### #######################################################################
class P(object): class P(object):
package_name = __name__.split('.')[0] package_name = __name__.split(".")[0]
logger = get_logger(package_name) logger = get_logger(package_name)
blueprint = Blueprint(package_name, package_name, url_prefix='/%s' % package_name, blueprint = Blueprint(
template_folder=os.path.join(os.path.dirname(__file__), 'templates')) package_name,
package_name,
url_prefix="/%s" % package_name,
template_folder=os.path.join(os.path.dirname(__file__), "templates"),
static_folder="static",
)
menu = { menu = {
'main': [package_name, u'애니 다운로드'], "main": [package_name, "애니 다운로드"],
'sub': [ "sub": [["ohli24", "OHLI24"], ["linkkf", "LINKKF"], ["log", "로그"]],
['ohli24', u'OHLI24'], ['linkkf', u'LINKKF'], ['log', u'로그'] "category": "vod",
], "sub2": {
'category': 'vod', "ohli24": [
'sub2': { ["setting", "설정"],
'ohli24': [ ["request", "요청"],
['setting', u'설정'], ['request', u'요청'], ['queue', u''], ['category', u'분류'], ['list', u'목록'] ["queue", ""],
["category", "분류"],
["list", "목록"],
], ],
'linkkf': [ "linkkf": [
['setting', u'설정'], ['request', u'요청'], ['queue', u''], ['list', u'목록'] ["setting", "설정"],
["request", "요청"],
["queue", ""],
["list", "목록"],
], ],
} },
} }
plugin_info = { plugin_info = {
'version': '0.1.1.0', "version": "0.1.1.0",
'name': 'anime_downloader', "name": "anime_downloader",
'category_name': 'vod', "category_name": "vod",
'icon': '', "icon": "",
'developer': 'soju6jan && projectdx', "developer": "soju6jan && projectdx",
'description': u'비디오 다운로드', "description": "비디오 다운로드",
'home': 'http://yommi.duckdns.org:20080/projectdx/anime-downloader', "home": "http://yommi.duckdns.org:20080/projectdx/anime-downloader",
'more': '', "more": "",
} }
ModelSetting = get_model_setting(package_name, logger) ModelSetting = get_model_setting(package_name, logger)
logic = None logic = None
module_list = None module_list = None
home_module = 'ohli24' home_module = "ohli24"
# 초기화 함수 # 초기화 함수
def initialize(): def initialize():
try: try:
app.config['SQLALCHEMY_BINDS'][P.package_name] = 'sqlite:///%s' % ( app.config["SQLALCHEMY_BINDS"][P.package_name] = "sqlite:///%s" % (
os.path.join(path_data, 'db', '{package_name}.db'.format(package_name=P.package_name))) os.path.join(
path_data, "db", "{package_name}.db".format(package_name=P.package_name)
)
)
PluginUtil.make_info_json(P.plugin_info, __file__) PluginUtil.make_info_json(P.plugin_info, __file__)
from .logic_ohli24 import LogicOhli24 from .logic_ohli24 import LogicOhli24
from .logic_linkkf import LogicLinkkf from .logic_linkkf import LogicLinkkf
# P.module_list = [LogicOhli24(P), LogicLinkkf(P)] # P.module_list = [LogicOhli24(P), LogicLinkkf(P)]
P.module_list = [LogicOhli24(P)] P.module_list = [LogicOhli24(P)]
P.logic = Logic(P) P.logic = Logic(P)
default_route(P) default_route(P)
except Exception as e: except Exception as e:
P.logger.error('Exception:%s', e) P.logger.error("Exception:%s", e)
P.logger.error(traceback.format_exc()) P.logger.error(traceback.format_exc())

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="margin: auto; background: rgb(241, 242, 243); display: block; shape-rendering: auto;" width="200px" height="200px" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid">
<g transform="translate(27.166666666666664,27.166666666666664)">
<rect x="-18.5" y="-18.5" width="37" height="37" fill="#85a2b6">
<animateTransform attributeName="transform" type="scale" repeatCount="indefinite" dur="1s" keyTimes="0;1" values="1.1;1" begin="-0.3s"></animateTransform>
</rect>
</g>
<g transform="translate(72.83333333333333,27.166666666666664)">
<rect x="-18.5" y="-18.5" width="37" height="37" fill="#bbcedd">
<animateTransform attributeName="transform" type="scale" repeatCount="indefinite" dur="1s" keyTimes="0;1" values="1.1;1" begin="-0.2s"></animateTransform>
</rect>
</g>
<g transform="translate(27.166666666666664,72.83333333333333)">
<rect x="-18.5" y="-18.5" width="37" height="37" fill="#dce4eb">
<animateTransform attributeName="transform" type="scale" repeatCount="indefinite" dur="1s" keyTimes="0;1" values="1.1;1" begin="0s"></animateTransform>
</rect>
</g>
<g transform="translate(72.83333333333333,72.83333333333333)">
<rect x="-18.5" y="-18.5" width="37" height="37" fill="#fdfdfd">
<animateTransform attributeName="transform" type="scale" repeatCount="indefinite" dur="1s" keyTimes="0;1" values="1.1;1" begin="-0.1s"></animateTransform>
</rect>
</g>
<!-- [ldio] generated by https://loading.io/ --></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -136,7 +136,7 @@
tmp = '<div class="col-6 col-sm-4 col-md-3">'; 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 += '<img class="lazyload" src="./static/img_loader_x200.svg" data-original="' + data.anime_list[i].image_link + '" />'; tmp += '<img class="lazyload" src="../static/img_loader_x200.svg" data-original="' + data.anime_list[i].image_link + '" />';
tmp += '<div class="card-body">' tmp += '<div class="card-body">'
// {#tmp += '<button id="code_button" data-code="' + data.episode[i].code + '" type="button" class="btn btn-primary code-button bootstrap-tooltip" data-toggle="button" data-tooltip="true" aria-pressed="true" autocomplete="off" data-placement="top">' +#} // {#tmp += '<button id="code_button" data-code="' + data.episode[i].code + '" type="button" class="btn btn-primary code-button bootstrap-tooltip" data-toggle="button" data-tooltip="true" aria-pressed="true" autocomplete="off" data-placement="top">' +#}
// {# '<span data-tooltip-text="'+data.episode[i].title+'">' + data.episode[i].code + '</span></button></div>';#} // {# '<span data-tooltip-text="'+data.episode[i].title+'">' + data.episode[i].code + '</span></button></div>';#}

View File

@@ -210,6 +210,7 @@
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)
if (data.ret == 'enqueue_db_append' || data.ret == 'enqueue_db_exist') { if (data.ret == 'enqueue_db_append' || data.ret == 'enqueue_db_exist') {
$.notify('<strong>다운로드 작업을 추가 하였습니다.</strong>', {type: 'success'}); $.notify('<strong>다운로드 작업을 추가 하였습니다.</strong>', {type: 'success'});
} else if (data.ret == 'queue_exist') { } else if (data.ret == 'queue_exist') {