Fix plugins (#914)

* fix: novel hall search

* bump novel hall version

* fix: storyseeding

* bumps StorySeedling version

* fix: ltnovel, fans mtl, fannovel domain

* fix: types

* added wuxiaV
This commit is contained in:
nyagami
2024-04-28 16:08:03 +07:00
committed by GitHub
parent 8bb7ea194a
commit d96843da3b
6 changed files with 46 additions and 25 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

+1 -1
View File
@@ -58,7 +58,7 @@ const makeInit = async (init?: FetchInit) => {
*/
export async function fetchApi(url: string, init?: FetchInit) {
init = await makeInit(init);
// console.log(init.headers);
console.log(init.headers);
// console.log(url, init);
return await fetch(url, init as RequestInit);
}
+11 -11
View File
@@ -8,7 +8,7 @@ class StorySeedlingPlugin implements Plugin.PluginBase {
name = 'StorySeedling';
icon = 'src/en/storyseedling/icon.png';
site = 'https://storyseedling.com/';
version = '1.0.0';
version = '1.0.1';
async popularNovels(pageNo: number): Promise<Plugin.NovelItem[]> {
let novels: Plugin.NovelItem[] = [];
@@ -25,11 +25,11 @@ class StorySeedlingPlugin implements Plugin.PluginBase {
.replace("')", '') as string;
var data = new FormData();
data.set('search', '');
data.set('orderBy', 'recent');
data.set('curpage', pageNo.toString());
data.set('post', postValue);
data.set('action', 'fetch_browse');
data.append('search', '');
data.append('orderBy', 'recent');
data.append('curpage', pageNo.toString());
data.append('post', postValue);
data.append('action', 'fetch_browse');
var response = await (
await fetchApi(url, { body: data, method: 'POST' })
@@ -135,11 +135,11 @@ class StorySeedlingPlugin implements Plugin.PluginBase {
.replace("')", '') as string;
var data = new FormData();
data.set('search', searchTerm);
data.set('orderBy', 'recent');
data.set('curpage', pageNo.toString());
data.set('post', postValue);
data.set('action', 'fetch_browse');
data.append('search', searchTerm);
data.append('orderBy', 'recent');
data.append('curpage', pageNo.toString());
data.append('post', postValue);
data.append('action', 'fetch_browse');
var response = await (
await fetchApi(url, { body: data, method: 'POST' })
+7 -6
View File
@@ -7,7 +7,7 @@ import { defaultCover } from '@libs/defaultCover';
class NovelHall implements Plugin.PluginBase {
id = 'novelhall';
name = 'Novel Hall';
version = '1.0.0';
version = '1.0.1';
icon = 'src/en/novelhall/icon.png';
filters?: Filters | undefined; //TODO: Filters Requires hideOnSelect
site = 'https://novelhall.com/';
@@ -104,19 +104,20 @@ class NovelHall implements Plugin.PluginBase {
const novels: Plugin.NovelItem[] = [];
loadedCheerio('#article_list_content > li').each((idx, ele) => {
loadedCheerio('table tr').each((idx, ele) => {
const novelName = loadedCheerio(ele)
.find('h3')
.find('td:nth-child(2)')
.text()
.replace(/\t+/g, '')
.replace(/\n/g, ' ');
const novelCover = loadedCheerio(ele).find('img').attr('data-src');
const novelUrl = loadedCheerio(ele).find('a').attr('href')?.slice(1);
const novelUrl = loadedCheerio(ele)
.find('td:nth-child(2) a')
.attr('href');
if (!novelUrl) return;
const novel = {
name: novelName,
cover: novelCover,
cover: defaultCover,
path: novelUrl,
};
+20 -6
View File
@@ -11,22 +11,36 @@
},
{
"id": "ltnovel",
"sourceSite": "https://www.ltnovel.com",
"sourceName": "Ltnovel"
"sourceSite": "https://www.ltnovels.com",
"sourceName": "Ltnovel",
"options": {
"versionIncrements": 1
}
},
{
"id": "wuxiamtl",
"sourceSite": "https://www.fansmtl.com",
"sourceName": "Fans MTL"
"sourceSite": "https://www.fansmtl.org",
"sourceName": "Fans MTL",
"options": {
"versionIncrements": 1
}
},
{
"id": "fannovel",
"sourceSite": "https://www.fannovel.com",
"sourceName": "FanNovel"
"sourceSite": "https://www.fannovels.org",
"sourceName": "FanNovel",
"options": {
"versionIncrements": 1
}
},
{
"id": "wuxiaspace",
"sourceSite": "https://www.wuxiaspace.com",
"sourceName": "Wuxia Space"
},
{
"id": "wuxiav",
"sourceSite": "https://www.wuxiav.com",
"sourceName": "WuxiaV"
}
]
+7 -1
View File
@@ -6,11 +6,16 @@ import { load as parseHTML } from 'cheerio';
import dayjs from 'dayjs';
import qs from 'qs';
interface ReadwnOptions {
versionIncrements?: number;
}
export interface ReadwnMetadata {
id: string;
sourceSite: string;
sourceName: string;
filters?: any;
options?: ReadwnOptions;
}
class ReadwnPlugin implements Plugin.PluginBase {
@@ -26,7 +31,8 @@ class ReadwnPlugin implements Plugin.PluginBase {
this.name = metadata.sourceName;
this.icon = `multisrc/readwn/${metadata.id.toLowerCase()}/icon.png`;
this.site = metadata.sourceSite;
this.version = '1.0.1';
const versionIncrements = metadata.options?.versionIncrements || 0;
this.version = `1.0.${1 + versionIncrements}`;
this.filters = metadata.filters;
}