mirror of
https://github.com/kodjodevf/mangayomi-extensions.git
synced 2026-02-14 19:01:15 +00:00
extension(soaper): Added Search
This commit is contained in:
@@ -6,10 +6,10 @@ const mangayomiSources = [{
|
|||||||
"iconUrl": "https://www.google.com/s2/favicons?sz=128&domain=https://soaper.cc/",
|
"iconUrl": "https://www.google.com/s2/favicons?sz=128&domain=https://soaper.cc/",
|
||||||
"typeSource": "multi",
|
"typeSource": "multi",
|
||||||
"isManga": false,
|
"isManga": false,
|
||||||
"version": "0.0.1",
|
"version": "0.0.2",
|
||||||
"dateFormat": "",
|
"dateFormat": "",
|
||||||
"dateFormatLocale": "",
|
"dateFormatLocale": "",
|
||||||
"pkgPath": ""
|
"pkgPath": "anime/src/all/soaper.js"
|
||||||
}];
|
}];
|
||||||
|
|
||||||
class DefaultExtension extends MProvider {
|
class DefaultExtension extends MProvider {
|
||||||
@@ -35,7 +35,8 @@ class DefaultExtension extends MProvider {
|
|||||||
|
|
||||||
async formatList(slug, page) {
|
async formatList(slug, page) {
|
||||||
const baseUrl = await this.getPreference("pref_override_base_url")
|
const baseUrl = await this.getPreference("pref_override_base_url")
|
||||||
var doc = await this.request(`${slug}?page=${page}`);
|
slug = parseInt(page) > 1 ? `${slug}?page=${page}` : slug
|
||||||
|
var doc = await this.request(slug);
|
||||||
var list = [];
|
var list = [];
|
||||||
var movies = doc.select(".thumbnail.text-center")
|
var movies = doc.select(".thumbnail.text-center")
|
||||||
|
|
||||||
@@ -49,14 +50,17 @@ class DefaultExtension extends MProvider {
|
|||||||
list.push({ name, imageUrl, link });
|
list.push({ name, imageUrl, link });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var hasNextPage = false
|
||||||
|
if (slug.indexOf("search.html?") == -1) {
|
||||||
var pagination = doc.select("ul.pagination > li")
|
var pagination = doc.select("ul.pagination > li")
|
||||||
var last_page_num = parseInt(pagination[pagination.length - 2].text);
|
var last_page_num = parseInt(pagination[pagination.length - 2].text);
|
||||||
var hasNextPage = page < last_page_num ? true : false;
|
hasNextPage = page < last_page_num ? true : false;
|
||||||
|
}
|
||||||
return { list, hasNextPage }
|
return { list, hasNextPage }
|
||||||
}
|
}
|
||||||
|
|
||||||
async filterList(year = "all", genre = "all", sort = "new", page = 1) {
|
async filterList(year = "all", genre = "all", sort = "new", page = 1) {
|
||||||
|
|
||||||
year = year == "all" ? "" : `/year/${year}`
|
year = year == "all" ? "" : `/year/${year}`
|
||||||
genre = genre == "all" ? "" : `/cat/${genre}`
|
genre = genre == "all" ? "" : `/cat/${genre}`
|
||||||
sort = sort == "new" ? "" : `/sort/${sort}`
|
sort = sort == "new" ? "" : `/sort/${sort}`
|
||||||
@@ -87,9 +91,35 @@ class DefaultExtension extends MProvider {
|
|||||||
async getLatestUpdates(page) {
|
async getLatestUpdates(page) {
|
||||||
return await this.filterList("all", "all", "new", page);
|
return await this.filterList("all", "all", "new", page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
async search(query, page, filters) {
|
async search(query, page, filters) {
|
||||||
throw new Error("search not implemented");
|
var seriesList = []
|
||||||
|
var movieList = []
|
||||||
|
var list = [];
|
||||||
|
|
||||||
|
var res = await this.formatList(`search.html?keyword=${query}`, 1)
|
||||||
|
var movies = res["list"]
|
||||||
|
|
||||||
|
for (var movie of movies) {
|
||||||
|
var link = movie.link
|
||||||
|
if (link.indexOf("/tv_") != -1) {
|
||||||
|
seriesList.push(movie);
|
||||||
|
} else {
|
||||||
|
movieList.push(movie);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var priority = await this.getPreference("pref_content_priority");
|
||||||
|
if (priority === "series") {
|
||||||
|
list = [...seriesList, ...movieList];
|
||||||
|
} else {
|
||||||
|
list = [...movieList, ...seriesList];
|
||||||
|
}
|
||||||
|
|
||||||
|
return { list, hasNextPage: false }
|
||||||
|
}
|
||||||
|
|
||||||
async getDetail(url) {
|
async getDetail(url) {
|
||||||
throw new Error("getDetail not implemented");
|
throw new Error("getDetail not implemented");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user