인프런 업로드

This commit is contained in:
2022-05-13 20:24:03 +09:00
parent 8352abf485
commit 9b39921a1a
13 changed files with 2272 additions and 1410 deletions

View File

@@ -34,7 +34,7 @@ from system.logic import SystemLogic
from .logic import Logic
from .logic_inflearn import LogicInflearn
from .logic_queue import QueueEntity, LogicQueue
from .model import ModelSetting, ModelLinkkf
from .model import ModelSetting, ModelInflearn
# blueprint = Blueprint(package_name,
# package_name,
@@ -73,6 +73,7 @@ menu = {
["request", "요청"],
["category", "검색"],
["queue", ""],
["excel", "액셀"],
["list", "목록"],
["log", "로그"],
],
@@ -118,7 +119,7 @@ def home():
return redirect("/%s/category" % package_name)
@blueprint.route("/<sub>")
@blueprint.route("/<sub>", methods=["GET", "POST"])
@login_required
def detail(sub):
# arg = {
@@ -134,19 +135,49 @@ def detail(sub):
arg["is_running"] = str(scheduler.is_running(package_name))
arg["template_name"] = "%s_%s" % (package_name, sub)
return render_template("%s_%s.html" % (package_name, sub), arg=arg)
elif sub in ["request", "queue", "list"]:
elif sub == "request":
setting_list = db.session.query(ModelSetting).all()
arg = Util.db_list_to_dict(setting_list)
arg["package_name"] = package_name
logger.debug(f"current_code: {LogicInflearn.current_data}")
arg["current_code"] = (
LogicInflearn.current_data["code"]
if LogicInflearn.current_data is not None
else ""
)
arg["template_name"] = "%s_%s" % (package_name, sub)
# arg["template_name"] = "%s_%s" % (package_name, sub)
arg["template_name"] = f"{package_name}_{sub}"
logger.debug(f"arg: {arg}")
return render_template("%s_%s.html" % (package_name, sub), arg=arg)
elif sub in ["queue", "list"]:
setting_list = db.session.query(ModelSetting).all()
arg = Util.db_list_to_dict(setting_list)
arg["package_name"] = package_name
logger.debug(f"current_code: {LogicInflearn.current_data}")
arg["current_code"] = (
LogicInflearn.current_data["code"]
if LogicInflearn.current_data is not None
else ""
)
# arg["template_name"] = "%s_%s" % (package_name, sub)
arg["template_name"] = f"{package_name}_{sub}"
logger.debug(f"arg: \n{arg}")
return render_template("%s_%s.html" % (package_name, sub), arg=arg)
elif sub == "category":
setting_list = db.session.query(ModelSetting).all()
arg = Util.db_list_to_dict(setting_list)
arg["package_name"] = package_name
arg["template_name"] = "%s_%s" % (package_name, sub)
# logger.debug(f"arg:: {arg}")
return render_template("%s_%s.html" % (package_name, sub), arg=arg)
elif sub == "excel":
setting_list = db.session.query(ModelSetting).all()
arg = Util.db_list_to_dict(setting_list)
arg["package_name"] = package_name
@@ -186,9 +217,10 @@ def ajax(sub):
code = request.form["code"]
data = LogicInflearn.get_title_info(code)
# logger.debug("data::> %s", data)
# current_data = data
LogicInflearn.current_data = data
# return jsonify(data)
# logger.debug(data)
if data["ret"] == "error":
return jsonify(data)
else:
@@ -200,6 +232,17 @@ def ajax(sub):
# logger.error("Exception:%s", e)
# logger.error(traceback.format_exc())
return jsonify({"ret": "error", "log": e})
elif sub == "excel_list":
try:
data = LogicInflearn.get_excel_info()
logger.debug(f"data[]: {data}")
return jsonify({"ret": "success", "data": data})
except Exception as e:
logger.error("Exception:%s", e)
logger.error(traceback.format_exc())
return jsonify({"ret": "error", "log": e})
elif sub == "search":
try:
query = request.form["query"]
@@ -210,23 +253,26 @@ def ajax(sub):
except Exception as e:
logger.error("Exception:%s", e)
logger.error(traceback.format_exc())
elif sub == "anime_list":
# elif sub == "anime_list":
# try:
# # logger.debug(request.form)
# page = request.form["page"]
# cate = request.form["type"]
# # data = LogicLinkkfYommi.get_screen_movie_info(page)
# data = LogicInflearn.get_lecture_list_info(cate, page)
# dummy_data = {"ret": "success", "data": data}
# return jsonify(data)
# except Exception as e:
# logger.error("Exception:%s", e)
# logger.error(traceback.format_exc())
elif sub == "get_lecture_list":
try:
# logger.debug(request.form)
page = request.form["page"]
cate = request.form["type"]
# data = LogicLinkkfYommi.get_screen_movie_info(page)
data = LogicInflearn.get_anime_list_info(cate, page)
dummy_data = {"ret": "success", "data": data}
return jsonify(data)
except Exception as e:
logger.error("Exception:%s", e)
logger.error(traceback.format_exc())
elif sub == "airing_list":
try:
data = LogicInflearn.get_airing_info()
data = LogicInflearn.get_lecture_list_info(cate, page)
# dummy_data = {"ret": "success", "data": data}
logger.debug(f"airing_list:: {data}")
logger.debug(f"lecture_list:: {data}")
return jsonify(data)
except Exception as e:
logger.error("Exception:%s", e)
@@ -285,6 +331,10 @@ def ajax(sub):
except Exception as e:
logger.error("Exception:%s", e)
logger.error(traceback.format_exc())
elif sub == "add_download":
# logger.debug("add_download:: %s", request.form)
ret = LogicInflearn.download(request.form)
return jsonify(ret)
elif sub == "add_queue":
try:
ret = {}
@@ -321,16 +371,20 @@ def ajax(sub):
return jsonify(ret)
elif sub == "add_queue_checked_list":
ret = {}
infos = {"code": request.form["lecture_id"]}
try:
from .logic_queue import LogicQueue
code = request.form["code"]
logger.debug("code:: %s", code)
code_list = code.split(",")
logger.debug(f"code_list[]: {code_list}")
count = 0
for c in code_list:
info = LogicInflearn.get_info_by_code(c)
if info is not None:
tmp = LogicQueue.add_queue(info)
infos["data"] = info
tmp = LogicQueue.add_checked_youtube_queue(infos)
count += 1
ret["ret"] = "success"
ret["log"] = str(count)
@@ -358,13 +412,13 @@ def ajax(sub):
# logger.info("db :::>", ModelLinkkf.web_list(request))
data = [{}]
dummy_data = {"ret": "success", "method": "web_list", "data": data}
return jsonify(ModelLinkkf.web_list(request))
return jsonify(ModelInflearn.web_list(request))
# return jsonify(dummy_data)
except Exception as e:
logger.error("Exception: %s", e)
logger.error(traceback.format_exc())
elif sub == "db_remove":
return jsonify(ModelLinkkf.delete_by_id(request.form["id"]))
return jsonify(ModelInflearn.delete_by_id(request.form["id"]))
# reset_db
elif sub == "reset_db":
ret = {}