From 454c4ff6c51d548c3e936e062f92bf01b6ccb3de Mon Sep 17 00:00:00 2001 From: MikeZeDev Date: Sat, 17 Dec 2022 15:56:48 +0000 Subject: [PATCH 1/4] Bilibi : support more languages They support more language than Hakuneko. Currently we have 2 connectors : english and chinese. Urls are differents Now they also have mangas in french, spanish, and indonesian. We just have to put a language code in one api request The catch is : you get a different manga ID for a manga and a language. Therefore for gathering mangas list we have to performs loops with langage codes but there will be more manga displayed in list (if we make Bibili 'english' => multilingual') Or we make different connectors with just a langage code different But then, since url of website is the same, clipboard copy wont work as many website will have the exact same url They support more language than Hakuneko. Currently we have 2 connectors : english and chinese. Urls are differents Now they also have mangas in french, spanish, and indonesian. We just have to put a language code in one api request The catch is : you get a different manga ID for a manga and a language. Therefore for gathering mangas list we have to performs loops with langage codes but there will be more manga displayed in list (if we make Bibili 'english' => multilingual') Or we make different connectors with just a langage code different But then, since url of website is the same, clipboard copy wont work as many website will have the exact same url --- src/web/mjs/connectors/BilibiliComics.mjs | 3 ++- src/web/mjs/connectors/BilibiliComicsES.mjs | 16 ++++++++++++++++ src/web/mjs/connectors/BilibiliComicsFR.mjs | 16 ++++++++++++++++ src/web/mjs/connectors/BilibiliComicsID.mjs | 16 ++++++++++++++++ src/web/mjs/connectors/BilibiliManhua.mjs | 3 +++ 5 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 src/web/mjs/connectors/BilibiliComicsES.mjs create mode 100644 src/web/mjs/connectors/BilibiliComicsFR.mjs create mode 100644 src/web/mjs/connectors/BilibiliComicsID.mjs diff --git a/src/web/mjs/connectors/BilibiliComics.mjs b/src/web/mjs/connectors/BilibiliComics.mjs index 0fa0d5498c..d739b189fb 100644 --- a/src/web/mjs/connectors/BilibiliComics.mjs +++ b/src/web/mjs/connectors/BilibiliComics.mjs @@ -5,8 +5,9 @@ export default class BilibiliComics extends BilibiliManhua { constructor() { super(); super.id = 'bilibili-comics'; - super.label = 'Bilibili Comics'; + super.label = 'Bilibili Comics (English)'; this.tags = [ 'webtoon', 'english' ]; this.url = 'https://www.bilibilicomics.com'; + this.lang = 'en'; } } \ No newline at end of file diff --git a/src/web/mjs/connectors/BilibiliComicsES.mjs b/src/web/mjs/connectors/BilibiliComicsES.mjs new file mode 100644 index 0000000000..097c126094 --- /dev/null +++ b/src/web/mjs/connectors/BilibiliComicsES.mjs @@ -0,0 +1,16 @@ +import BilibiliManhua from './BilibiliManhua.mjs'; + +export default class BilibiliComicsES extends BilibiliManhua { + + constructor() { + super(); + super.id = 'bilibili-comicses'; + super.label = 'Bilibili Comics (Spanish)'; + this.tags = [ 'webtoon', 'spanish' ]; + this.url = 'https://www.bilibilicomics.com'; + this.lang = 'es'; + } + get icon() { + return '/img/connectors/bilibili-comics'; + } +} \ No newline at end of file diff --git a/src/web/mjs/connectors/BilibiliComicsFR.mjs b/src/web/mjs/connectors/BilibiliComicsFR.mjs new file mode 100644 index 0000000000..595f498fca --- /dev/null +++ b/src/web/mjs/connectors/BilibiliComicsFR.mjs @@ -0,0 +1,16 @@ +import BilibiliManhua from './BilibiliManhua.mjs'; + +export default class BilibiliComicsFR extends BilibiliManhua { + + constructor() { + super(); + super.id = 'bilibili-comicsfr'; + super.label = 'Bilibili Comics (French)'; + this.tags = [ 'webtoon', 'french' ]; + this.url = 'https://www.bilibilicomics.com'; + this.lang = 'fr'; + } + get icon() { + return '/img/connectors/bilibili-comics'; + } +} \ No newline at end of file diff --git a/src/web/mjs/connectors/BilibiliComicsID.mjs b/src/web/mjs/connectors/BilibiliComicsID.mjs new file mode 100644 index 0000000000..1587470dce --- /dev/null +++ b/src/web/mjs/connectors/BilibiliComicsID.mjs @@ -0,0 +1,16 @@ +import BilibiliManhua from './BilibiliManhua.mjs'; + +export default class BilibiliComicsID extends BilibiliManhua { + + constructor() { + super(); + super.id = 'bilibili-comicsid'; + super.label = 'Bilibili Comics (Indonesian)'; + this.tags = [ 'webtoon', 'indonesian' ]; + this.url = 'https://www.bilibilicomics.com'; + this.lang = 'id'; + } + get icon() { + return '/img/connectors/bilibili-comics'; + } +} \ No newline at end of file diff --git a/src/web/mjs/connectors/BilibiliManhua.mjs b/src/web/mjs/connectors/BilibiliManhua.mjs index 685e8f7899..d2cc6f7763 100644 --- a/src/web/mjs/connectors/BilibiliManhua.mjs +++ b/src/web/mjs/connectors/BilibiliManhua.mjs @@ -9,6 +9,7 @@ export default class BilibiliManhua extends Connector { super.label = '哔哩哔哩 漫画 (Bilibili Manhua)'; this.tags = [ 'manga', 'webtoon', 'chinese' ]; this.url = 'https://manga.bilibili.com'; + this.lang = 'cn'; this.config = { quality: { @@ -29,6 +30,8 @@ export default class BilibiliManhua extends Connector { const uri = new URL('/twirp/comic.v1.Comic' + path, this.url); uri.searchParams.set('device', 'pc'); uri.searchParams.set('platform', 'web'); + uri.searchParams.set('lang', this.lang); + uri.searchParams.set('sys_lang', this.lang); const request = new Request(uri, { method: 'POST', body: JSON.stringify(body), From 6ff506cb83f46b36749a0a3877068e01bffba29e Mon Sep 17 00:00:00 2001 From: MikeZeDev Date: Thu, 22 Dec 2022 20:19:50 +0000 Subject: [PATCH 2/4] BilibiliComicsES : more readable id --- src/web/mjs/connectors/BilibiliComicsES.mjs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/web/mjs/connectors/BilibiliComicsES.mjs b/src/web/mjs/connectors/BilibiliComicsES.mjs index 097c126094..04691a4ad4 100644 --- a/src/web/mjs/connectors/BilibiliComicsES.mjs +++ b/src/web/mjs/connectors/BilibiliComicsES.mjs @@ -4,7 +4,7 @@ export default class BilibiliComicsES extends BilibiliManhua { constructor() { super(); - super.id = 'bilibili-comicses'; + super.id = 'bilibili-comics-es'; super.label = 'Bilibili Comics (Spanish)'; this.tags = [ 'webtoon', 'spanish' ]; this.url = 'https://www.bilibilicomics.com'; @@ -13,4 +13,4 @@ export default class BilibiliComicsES extends BilibiliManhua { get icon() { return '/img/connectors/bilibili-comics'; } -} \ No newline at end of file +} From 08e994c5e7b682b6b69a2c4eaa0b9b981f332c6f Mon Sep 17 00:00:00 2001 From: MikeZeDev Date: Thu, 22 Dec 2022 20:20:10 +0000 Subject: [PATCH 3/4] BilibiliComicsFR : more readable id --- src/web/mjs/connectors/BilibiliComicsFR.mjs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/web/mjs/connectors/BilibiliComicsFR.mjs b/src/web/mjs/connectors/BilibiliComicsFR.mjs index 595f498fca..394f48b9b2 100644 --- a/src/web/mjs/connectors/BilibiliComicsFR.mjs +++ b/src/web/mjs/connectors/BilibiliComicsFR.mjs @@ -4,7 +4,7 @@ export default class BilibiliComicsFR extends BilibiliManhua { constructor() { super(); - super.id = 'bilibili-comicsfr'; + super.id = 'bilibili-comics-fr'; super.label = 'Bilibili Comics (French)'; this.tags = [ 'webtoon', 'french' ]; this.url = 'https://www.bilibilicomics.com'; @@ -13,4 +13,4 @@ export default class BilibiliComicsFR extends BilibiliManhua { get icon() { return '/img/connectors/bilibili-comics'; } -} \ No newline at end of file +} From 5ea730333cd6df66c8404db5ea47b3195cb5df02 Mon Sep 17 00:00:00 2001 From: MikeZeDev Date: Thu, 22 Dec 2022 20:20:44 +0000 Subject: [PATCH 4/4] BilibiliComicsID : more readable id --- src/web/mjs/connectors/BilibiliComicsID.mjs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/web/mjs/connectors/BilibiliComicsID.mjs b/src/web/mjs/connectors/BilibiliComicsID.mjs index 1587470dce..f008f8de8e 100644 --- a/src/web/mjs/connectors/BilibiliComicsID.mjs +++ b/src/web/mjs/connectors/BilibiliComicsID.mjs @@ -4,7 +4,7 @@ export default class BilibiliComicsID extends BilibiliManhua { constructor() { super(); - super.id = 'bilibili-comicsid'; + super.id = 'bilibili-comics-id'; super.label = 'Bilibili Comics (Indonesian)'; this.tags = [ 'webtoon', 'indonesian' ]; this.url = 'https://www.bilibilicomics.com'; @@ -13,4 +13,4 @@ export default class BilibiliComicsID extends BilibiliManhua { get icon() { return '/img/connectors/bilibili-comics'; } -} \ No newline at end of file +}