'use strict'; const { createWeebHttp } = require('../plugins/broker'); const { discoverWeebCatalog, weebCentralInfo } = require('../adapters/weebcentral'); const { runArchive } = require('../jobs/weebcentral-archive'); const { controlledHttp } = require('./common'); module.exports = { id: 'weebcentral', label: 'WeebCentral', match: weebCentralInfo, async discover(item, options) { const http = createWeebHttp({ minMs: options.settings.minMs, maxMs: options.settings.maxMs, maxRetries: 2, onEvent: options.onEvent }); return discoverWeebCatalog(item.url, controlledHttp(http, options.shouldStop)); }, run(item, options) { return runArchive({ 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, }); }, };