anime-downloader bug fix 20.
add search routine check download fix
This commit is contained in:
@@ -15,6 +15,7 @@ import hashlib
|
||||
import requests
|
||||
from lxml import html
|
||||
from urllib import parse
|
||||
import urllib
|
||||
|
||||
# third-party
|
||||
from flask import request, render_template, jsonify
|
||||
@@ -146,6 +147,15 @@ class LogicOhli24(LogicModuleBase):
|
||||
return jsonify(
|
||||
{"ret": "success", "cate": cate, "page": page, "data": data}
|
||||
)
|
||||
elif sub == "search":
|
||||
data = []
|
||||
# cate = request.form["type"]
|
||||
# page = request.form["page"]
|
||||
query = request.form["query"]
|
||||
|
||||
data = self.get_search_result(query)
|
||||
# self.current_data = data
|
||||
return jsonify({"ret": "success", "query": query, "data": data})
|
||||
|
||||
elif sub == "add_queue":
|
||||
ret = {}
|
||||
@@ -394,6 +404,48 @@ class LogicOhli24(LogicModuleBase):
|
||||
P.logger.error(traceback.format_exc())
|
||||
return {"ret": "exception", "log": str(e)}
|
||||
|
||||
# @staticmethod
|
||||
def get_search_result(self, query):
|
||||
try:
|
||||
_query = urllib.parse.quote(query)
|
||||
url = (
|
||||
P.ModelSetting.get("ohli24_url")
|
||||
+ "/bbs/search.php?srows=24&gr_id=&sfl=wr_subject&stx="
|
||||
+ _query
|
||||
)
|
||||
|
||||
logger.info("url:::> %s", url)
|
||||
data = {}
|
||||
response_data = LogicOhli24.get_html(url, timeout=10)
|
||||
tree = html.fromstring(response_data)
|
||||
tmp_items = tree.xpath('//div[@class="list-row"]')
|
||||
data["anime_count"] = len(tmp_items)
|
||||
data["anime_list"] = []
|
||||
|
||||
for item in tmp_items:
|
||||
entity = {}
|
||||
entity["link"] = item.xpath(".//a/@href")[0]
|
||||
# entity["code"] = entity["link"].split("/")[-1]
|
||||
entity["wr_id"] = entity["link"].split("=")[-1]
|
||||
# logger.debug(item.xpath(".//div[@class='post-title']/text()").join())
|
||||
entity["title"] = "".join(
|
||||
item.xpath(".//div[@class='post-title']/text()")
|
||||
).strip()
|
||||
entity["image_link"] = item.xpath(".//div[@class='img-item']/img/@src")[
|
||||
0
|
||||
].replace("..", P.ModelSetting.get("ohli24_url"))
|
||||
|
||||
entity["code"] = item.xpath(".//div[@class='img-item']/img/@alt")[0]
|
||||
|
||||
data["ret"] = "success"
|
||||
data["anime_list"].append(entity)
|
||||
|
||||
return data
|
||||
except Exception as e:
|
||||
P.logger.error("Exception:%s", e)
|
||||
P.logger.error(traceback.format_exc())
|
||||
return {"ret": "exception", "log": str(e)}
|
||||
|
||||
# @staticmethod
|
||||
def plugin_load(self):
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user