blueprint add static_folder

This commit is contained in:
2022-04-12 23:57:13 +09:00
parent bfb7436b07
commit 0ad6c9c59a
5 changed files with 69 additions and 28 deletions

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/'+package_name+'/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') {