Skip to content

Commit

Permalink
[readmanga] update domain and queries
Browse files Browse the repository at this point in the history
  • Loading branch information
ronny1982 committed Sep 12, 2024
1 parent 3ab8a3e commit 78b278c
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 22 deletions.
19 changes: 6 additions & 13 deletions web/src/engine/websites/ReadManga.ts
Original file line number Diff line number Diff line change
@@ -1,25 +1,18 @@
// Related Websites: ReadManga, Usagi
import { Tags } from '../Tags';
import icon from './ReadManga.webp';
import { DecoratableMangaScraper } from '../providers/MangaPlugin';
import * as Common from './decorators/Common';

const pagesScript = `
rm_h.pics.map(picture => {
const url = new URL(picture.url)
url.search = '';
return url.href;
});
`;

@Common.MangaCSS(/^{origin}/, 'h1.names span.name')
@Common.MangasMultiPageCSS('/list?offset={page}', 'div.tile div.desc h3 a', 0, 70, 0)
@Common.ChaptersSinglePageCSS('tr.item-row a.chapter-link')
@Common.PagesSinglePageJS(pagesScript, 500)
@Common.MangaCSS(/^https:\/\/(1|zz)\.readmanga\.io\/[^/]+$/, '#mangaBox meta[itemprop="name"]')
@Common.MangasMultiPageCSS('/list?offset={page}', 'div.tile div.desc h3 a', 0, 50, 0)
@Common.ChaptersSinglePageCSS('tr.item-row a.chapter-link') // TODO: Randomly redirects to Usagi
@Common.PagesSinglePageJS(`rm_h.pics.map(pic => pic.url);`, 500)
@Common.ImageAjax()
export default class extends DecoratableMangaScraper {

public constructor() {
super('readmanga', `ReadManga`, 'https://readmanga.live', Tags.Language.Russian, Tags.Media.Manga, Tags.Media.Manhua, Tags.Media.Manhwa, Tags.Source.Aggregator);
super('readmanga', 'ReadManga', 'https://1.readmanga.io', Tags.Language.Russian, Tags.Media.Manga, Tags.Media.Manhua, Tags.Media.Manhwa, Tags.Source.Aggregator);
}

public override get Icon() {
Expand Down
42 changes: 33 additions & 9 deletions web/src/engine/websites/ReadManga_e2e.ts
Original file line number Diff line number Diff line change
@@ -1,26 +1,50 @@
import { describe } from 'vitest';
import { TestFixture, type Config } from '../../../test/WebsitesFixture';

const config: Config = {
const configLongStrip: Config = {
plugin: {
id: 'readmanga',
title: 'ReadManga'
},
container: {
url: 'https://readmanga.live/tomo_tian___devushka_',
id: '/tomo_tian___devushka_',
title: 'Томо-тян — девушка!'
url: 'https://1.readmanga.io/vseveduchii_chitatel__A5664', // Randomly redirects to 'https://web.usagi.one/omniscient_reader_s_viewpoint'
id: '/vseveduchii_chitatel__A5664',
title: 'Всеведущий читатель'
},
child: {
id: '/tomo_tian___devushka_/vol8/951.6',
title: '8 Экстра'
id: '/vseveduchii_chitatel__A5664/vol1/100',
title: '1 - 100 То, что невозможно изменить - часть 2'
},
entry: {
index: 0,
size: 271_227,
size: 950_618,
type: 'image/jpeg'
}
};

const fixture = new TestFixture(config);
describe(fixture.Name, async () => (await fixture.Connect()).AssertWebsite());
const fixtureLongStrip = new TestFixture(configLongStrip);
describe(fixtureLongStrip.Name, async () => (await fixtureLongStrip.Connect()).AssertWebsite());

const configMultiPage: Config = {
plugin: {
id: 'readmanga',
title: 'ReadManga'
},
container: {
url: 'https://zz.readmanga.io/van_pis__A5664', // Randomly redirects to 'https://web.usagi.one/one_piece'
id: '/van_pis__A5664',
title: 'Ван Пис'
},
child: {
id: '/van_pis__A5664/vol100/1010',
title: '100 - 1010 Королевская воля'
},
entry: {
index: 1,
size: 554_563,
type: 'image/png'
}
};

const fixtureMultiPage = new TestFixture(configMultiPage);
describe(fixtureMultiPage.Name, async () => (await fixtureMultiPage.Connect()).AssertWebsite());

0 comments on commit 78b278c

Please sign in to comment.