From 326d5414e9181ba50faa8963f0cec66a9f3d306a Mon Sep 17 00:00:00 2001 From: Edgard Lorraine Messias Date: Mon, 14 Oct 2024 23:41:18 -0300 Subject: [PATCH] feat: Add Blog do Amon Novels (#1221) --- .../src/pt-br/blogdoamonnovels/icon.png | Bin 0 -> 19675 bytes src/plugins/portuguese/blogdoamonnovels.ts | 258 ++++++++++++++++++ 2 files changed, 258 insertions(+) create mode 100644 public/static/src/pt-br/blogdoamonnovels/icon.png create mode 100644 src/plugins/portuguese/blogdoamonnovels.ts diff --git a/public/static/src/pt-br/blogdoamonnovels/icon.png b/public/static/src/pt-br/blogdoamonnovels/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c32ba07e18b2941cc1b2a2a3f2a498cf29fc9f07 GIT binary patch literal 19675 zcmV)tK$pLXP)004&%004{+008|`004nN004b?008NW002DY000@xb3BE200004 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 ifd|yT=%N2KnEgLqG+9Z8fPZWN0000 { + const novelName: string = n.title.$t; + + const novelUrl = n.link.find( + (t: { rel: string }) => 'alternate' == t.rel, + ).href; + if (!novelUrl) return; + + const coverUrl = n.media$thumbnail.url.replace('/s72-c/', '/w340/'); + + const novel = { + name: novelName, + cover: coverUrl || defaultCover, + path: novelUrl.replace(this.site, ''), + }; + + novels.push(novel); + }); + + return novels; + } + + async popularNovels( + pageNo: number, + { showLatestNovels }: Plugin.PopularNovelsOptions, + ): Promise { + if (showLatestNovels) { + return this.searchNovels('', pageNo); + } + + if (pageNo > 1) { + return []; + } + const body = await fetchApi(this.site).then(result => result.text()); + + const loadedCheerio = parseHTML(body); + + const novels: Plugin.NovelItem[] = []; + + loadedCheerio('.PopularPosts article').each((idx, ele) => { + const novelName = loadedCheerio(ele).find('h3 a').text().trim(); + const novelUrl = loadedCheerio(ele).find('h3 a').attr('href'); + const coverUrl = loadedCheerio(ele).find('img').attr('src'); + if (!novelUrl) return; + + const novel = { + name: novelName, + cover: coverUrl || defaultCover, + path: novelUrl.replace(this.site, ''), + }; + + novels.push(novel); + }); + + return novels; + } + + async parseNovel(novelPath: string): Promise { + const body = await fetchApi(this.site + novelPath).then(r => r.text()); + + const loadedCheerio = parseHTML(body); + + const novel: Plugin.SourceNovel = { + path: novelPath, + name: loadedCheerio('[itemprop="name"]').text() || 'Untitled', + cover: loadedCheerio('img[itemprop="image"]').attr('src'), + summary: loadedCheerio('#synopsis') + .find('br') + .replaceWith('\n') + .end() + .text() + .trim(), + chapters: [], + }; + + novel.author = loadedCheerio('#extra-info dl:contains("Autor") dd') + .text() + .trim(); + + novel.artist = loadedCheerio('#extra-info dl:contains("Artista") dd') + .text() + .trim(); + + novel.status = loadedCheerio('[data-status]').text().trim(); + + novel.genres = loadedCheerio('dt:contains("GĂȘnero:")') + .parent() + .find('a') + .map((_, ex) => loadedCheerio(ex).text().trim()) + .toArray() + .join(','); + + const cat = loadedCheerio('#clwd').text().split("'")[1]; + + if (!cat) { + const chapters: Plugin.ChapterItem[] = []; + + loadedCheerio('#chapters chapter').each((idx, ele) => { + const chapterName = loadedCheerio(ele).find('a').text().trim(); + const chapterUrl = loadedCheerio(ele).find('a').attr('href'); + if (!chapterUrl) return; + + chapters.push({ + name: chapterName, + path: chapterUrl.replace(this.site, ''), + }); + }); + + novel.chapters = chapters.reverse().map((c, i) => ({ + ...c, + name: c.name + ` - Ch. ${i + 1}`, + chapterNumber: i + 1, + })); + + if (!novel.summary) { + const $summary = loadedCheerio('#chapters'); + $summary.find('h3').remove(); + $summary.find('div.flex').remove(); + $summary.find('div.separator').remove(); + $summary.find('#custom-hero').remove(); + $summary.find('[id=listItem]').remove(); + novel.summary = $summary.text().trim(); + } + + return novel; + } + + const maxResults = 150; + let startIndex = 1; + let length = 0; + + const chapters: Plugin.ChapterItem[] = []; + do { + const jsonUrl = `${this.site}/feeds/posts/default/-/${cat}?alt=json&start-index=${startIndex}&max-results=${maxResults}`; + const bodyResponse = await fetchApi(jsonUrl).then(result => + result.text(), + ); + + const result = JSON.parse(bodyResponse); + + if (!('entry' in result.feed)) { + break; + } + + result.feed.entry.forEach((n: any) => { + let chapterName: string = n.title.$t; + + // Skip self + if (chapterName === novel.name) { + return; + } + + // const chapterNumber: number = parseFloat(chapterName.split(' ', 2)[1]); + const chapterUrl = n.link.find( + (t: { rel: string }) => 'alternate' == t.rel, + ).href; + const releaseTime = new Date(n.updated.$t); + if (!chapterUrl) return; + + if (n.content && n.content.$t) { + try { + const dom = parseHTML(n.content.$t); + chapterName = dom('.conteudo_teste center h1').text().trim(); + } catch (error) { + /* empty */ + } + } + + chapters.push({ + name: chapterName, + path: chapterUrl.replace(this.site, ''), + releaseTime: releaseTime.toISOString(), + // chapterNumber: chapterNumber, + }); + }); + + length = result.feed.entry.length; + startIndex += maxResults; + } while (length >= maxResults); + + novel.chapters = chapters.reverse().map((c, i) => ({ + ...c, + name: c.name + ` - Ch. ${i + 1}`, + chapterNumber: i + 1, + })); + return novel; + } + + async searchNovels( + searchTerm: string, + pageNo: number, + ): Promise { + const params = new URLSearchParams(); + const maxResults = 10; + + params.append('alt', 'json'); + if (pageNo > 1) { + params.append('start-index', `${(pageNo - 1) * maxResults + 1}`); + } + params.append('max-results', `${maxResults}`); + params.append('q', `label:Series ${searchTerm}`.trim()); + + const jsonUrl = `${this.site}/feeds/posts/summary?` + params.toString(); + const json = await fetchApi(jsonUrl).then(result => result.text()); + + return this.parseNovels(json); + } + + async parseChapter(chapterPath: string): Promise { + const body = await fetchApi(this.site + chapterPath).then(r => r.text()); + const loadedCheerio = parseHTML(body); + + const $readerarea = loadedCheerio('.conteudo_teste'); + + // Remove empty paragraphs + $readerarea.find('p').each((i, el) => { + const $this = loadedCheerio(el); + const $imgs = $this.find('img'); + const cleanContent = $this + .text() + ?.replace(/\s| /g, '') + ?.replace(this.site, ''); + + // Without images and empty content + if ($imgs?.length === 0 && cleanContent?.length === 0) { + $this.remove(); + } + }); + + return $readerarea.html() || ''; + } + + filters = {} satisfies Filters; +} + +export default new BlogDoAnonNovelsPlugin();