Files

30 lines
1.4 KiB
JavaScript

'use strict';
const { createHostHttp } = require('../plugins/broker');
const { mangaPillInfo, discoverMangaPillCatalog, discoverMangaPillChapter } = require('../adapters/mangapill');
const { runArchive } = require('../jobs/weebcentral-archive');
const { controlledHttp } = require('./common');
const createHttp = options => createHostHttp('mangapill.com', options);
module.exports = {
id: 'mangapill', label: 'MangaPill', match: mangaPillInfo,
async discover(item, options) {
const http = createHttp({ minMs: options.settings.minMs, maxMs: options.settings.maxMs,
maxRetries: 2, onEvent: options.onEvent });
return discoverMangaPillCatalog(item.url, controlledHttp(http, options.shouldStop));
},
run(item, options) {
return runArchive({
source: 'mangapill', sourceLabel: 'MangaPill', sourceId: mangaPillInfo(item.url)?.id,
discoverCatalog: discoverMangaPillCatalog, discoverChapter: discoverMangaPillChapter, createHttp,
seriesUrl: item.url, libraryRoot: options.libraryRoot,
metadataSearch: item.metadataSearch || item.title,
minMs: options.settings.minMs, maxMs: options.settings.maxMs,
chapterMinMs: options.settings.chapterMinMs, chapterMaxMs: options.settings.chapterMaxMs,
shouldStop: options.shouldStop, scope: item.scope, existingPolicy: item.existingPolicy,
libraryMangaId: item.libraryMangaId, onPublished: options.onPublished, onCatalog: options.onCatalog,
});
},
};