blueprint add static_folder
This commit is contained in:
69
plugin.py
69
plugin.py
@@ -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": {
|
||||||
|
"ohli24": [
|
||||||
|
["setting", "설정"],
|
||||||
|
["request", "요청"],
|
||||||
|
["queue", "큐"],
|
||||||
|
["category", "분류"],
|
||||||
|
["list", "목록"],
|
||||||
],
|
],
|
||||||
'category': 'vod',
|
"linkkf": [
|
||||||
'sub2': {
|
["setting", "설정"],
|
||||||
'ohli24': [
|
["request", "요청"],
|
||||||
['setting', u'설정'], ['request', u'요청'], ['queue', u'큐'], ['category', u'분류'], ['list', u'목록']
|
["queue", "큐"],
|
||||||
|
["list", "목록"],
|
||||||
],
|
],
|
||||||
'linkkf': [
|
},
|
||||||
['setting', u'설정'], ['request', u'요청'], ['queue', u'큐'], ['list', u'목록']
|
|
||||||
],
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
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())
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
23
static/ohli24/img_loader_x200.svg
Normal file
23
static/ohli24/img_loader_x200.svg
Normal 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 |
@@ -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>';#}
|
||||||
|
|||||||
@@ -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') {
|
||||||
|
|||||||
Reference in New Issue
Block a user