cross-seed 6.1.0 → 6.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/action.js +5 -9
  2. package/dist/action.js.map +1 -1
  3. package/dist/arr.js +2 -2
  4. package/dist/arr.js.map +1 -1
  5. package/dist/clients/Deluge.js +54 -3
  6. package/dist/clients/Deluge.js.map +1 -1
  7. package/dist/clients/QBittorrent.js +66 -17
  8. package/dist/clients/QBittorrent.js.map +1 -1
  9. package/dist/clients/RTorrent.js +128 -9
  10. package/dist/clients/RTorrent.js.map +1 -1
  11. package/dist/clients/TorrentClient.js +10 -1
  12. package/dist/clients/TorrentClient.js.map +1 -1
  13. package/dist/clients/Transmission.js +25 -1
  14. package/dist/clients/Transmission.js.map +1 -1
  15. package/dist/config.template.cjs +19 -14
  16. package/dist/config.template.cjs.map +1 -1
  17. package/dist/configSchema.js +11 -12
  18. package/dist/configSchema.js.map +1 -1
  19. package/dist/constants.js +12 -1
  20. package/dist/constants.js.map +1 -1
  21. package/dist/inject.js +4 -6
  22. package/dist/inject.js.map +1 -1
  23. package/dist/migrations/08-rss.js +15 -0
  24. package/dist/migrations/08-rss.js.map +1 -0
  25. package/dist/migrations/migrations.js +2 -0
  26. package/dist/migrations/migrations.js.map +1 -1
  27. package/dist/pipeline.js +42 -36
  28. package/dist/pipeline.js.map +1 -1
  29. package/dist/preFilter.js +5 -3
  30. package/dist/preFilter.js.map +1 -1
  31. package/dist/searchee.js +10 -0
  32. package/dist/searchee.js.map +1 -1
  33. package/dist/server.js +57 -12
  34. package/dist/server.js.map +1 -1
  35. package/dist/torrent.js +2 -2
  36. package/dist/torrent.js.map +1 -1
  37. package/dist/torznab.js +85 -44
  38. package/dist/torznab.js.map +1 -1
  39. package/dist/utils.js +9 -28
  40. package/dist/utils.js.map +1 -1
  41. package/package.json +1 -1
package/dist/server.js CHANGED
@@ -64,6 +64,10 @@ function parseData(data) {
64
64
  return parsed;
65
65
  }
66
66
  async function authorize(req, res) {
67
+ /**
68
+ * checks all http API requests for authorized apiKey
69
+ * uses param `?apikey=` or as header `x-api-key`
70
+ */
67
71
  const url = new URL(req.url, `http://${req.headers.host}`);
68
72
  const apiKey = req.headers["x-api-key"] ?? url.searchParams.get("apikey");
69
73
  const isAuthorized = await checkApiKey(apiKey);
@@ -80,6 +84,10 @@ async function authorize(req, res) {
80
84
  return isAuthorized;
81
85
  }
82
86
  async function search(req, res) {
87
+ /**
88
+ * processes matching a local searchee provided via /api/webhook
89
+ * on all currently configured torznab indexers
90
+ */
83
91
  const dataStr = await getData(req);
84
92
  let data;
85
93
  try {
@@ -169,6 +177,10 @@ function determineResponse(result) {
169
177
  return { status, state };
170
178
  }
171
179
  async function announce(req, res) {
180
+ /**
181
+ * processes matching a new candidate provided via /api/announce
182
+ * to local torrent based on provided criteria
183
+ */
172
184
  const { torrentDir } = getRuntimeConfig();
173
185
  const dataStr = await getData(req);
174
186
  let data;
@@ -229,27 +241,57 @@ async function announce(req, res) {
229
241
  res.end(e.message);
230
242
  }
231
243
  }
232
- async function statusCheck(req, res) {
244
+ async function status(req, res) {
245
+ /**
246
+ current: sends "200 OK"
247
+ future: respond with current state and job status details via API
248
+ uses: potential usage of this in dashbrr
249
+ */
250
+ res.writeHead(200);
251
+ res.end("OK");
252
+ }
253
+ async function ping(req, res) {
254
+ /**
255
+ * sends "200 OK" for external health check via API
256
+ */
233
257
  res.writeHead(200);
234
258
  res.end("OK");
235
259
  }
236
260
  async function handleRequest(req, res) {
237
- if (!(await authorize(req, res)))
238
- return;
239
- const endpoint = req.url.split("?")[0];
240
- if ((req.method === "POST" && endpoint === "/api/status") ||
241
- (req.method === "GET" && endpoint !== "/api/status")) {
261
+ /**
262
+ * request handling upon receiving an http API call
263
+ */
264
+ const checkMethod = (method, endpoint) => {
265
+ if (req.method === method)
266
+ return true;
242
267
  res.writeHead(405);
243
- res.end("Methods allowed: POST");
244
- return;
245
- }
268
+ res.end(`Method ${req.method} not allowed for ${endpoint}`);
269
+ return false;
270
+ };
271
+ const endpoint = req.url.split("?")[0];
246
272
  switch (endpoint) {
247
- case "/api/webhook":
248
- return search(req, res);
249
273
  case "/api/announce":
274
+ if (!checkMethod("POST", endpoint))
275
+ return;
276
+ if (!(await authorize(req, res)))
277
+ return;
250
278
  return announce(req, res);
279
+ case "/api/webhook":
280
+ if (!checkMethod("POST", endpoint))
281
+ return;
282
+ if (!(await authorize(req, res)))
283
+ return;
284
+ return search(req, res);
285
+ case "/api/ping":
286
+ if (!checkMethod("GET", endpoint))
287
+ return;
288
+ return ping(req, res);
251
289
  case "/api/status":
252
- return statusCheck(req, res);
290
+ if (!checkMethod("GET", endpoint))
291
+ return;
292
+ if (!(await authorize(req, res)))
293
+ return;
294
+ return status(req, res);
253
295
  default: {
254
296
  const message = `Unknown endpoint: ${endpoint}`;
255
297
  logger.error({ label: Label.SERVER, message });
@@ -260,6 +302,9 @@ async function handleRequest(req, res) {
260
302
  }
261
303
  }
262
304
  export function serve(port, host) {
305
+ /**
306
+ * listens (daemon) on configured port for http API calls
307
+ */
263
308
  if (port) {
264
309
  const server = http.createServer(handleRequest);
265
310
  server.listen(port, host);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/torrent.js CHANGED
@@ -4,14 +4,14 @@ import { readdir, readFile, writeFile } from "fs/promises";
4
4
  import Fuse from "fuse.js";
5
5
  import { extname, join, resolve } from "path";
6
6
  import { inspect } from "util";
7
- import { LEVENSHTEIN_DIVISOR, SAVED_TORRENTS_INFO_REGEX, USER_AGENT, } from "./constants.js";
7
+ import { LEVENSHTEIN_DIVISOR, MediaType, SAVED_TORRENTS_INFO_REGEX, USER_AGENT, } from "./constants.js";
8
8
  import { db } from "./db.js";
9
9
  import { logger, logOnce } from "./logger.js";
10
10
  import { Metafile } from "./parseTorrent.js";
11
11
  import { resultOf, resultOfErr } from "./Result.js";
12
12
  import { getRuntimeConfig } from "./runtimeConfig.js";
13
13
  import { createSearcheeFromTorrentFile, getAnimeKeys, getEpisodeKey, getMovieKey, getSeasonKey, } from "./searchee.js";
14
- import { createKeyTitle, MediaType, stripExtension } from "./utils.js";
14
+ import { createKeyTitle, stripExtension } from "./utils.js";
15
15
  export var SnatchError;
16
16
  (function (SnatchError) {
17
17
  SnatchError["ABORTED"] = "ABORTED";
@@ -1 +1 @@
1
- {"version":3,"file":"torrent.js","sourceRoot":"","sources":["../src/torrent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"torrent.js","sourceRoot":"","sources":["../src/torrent.ts"],"names":[],"mappings":"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"}
package/dist/torznab.js CHANGED
@@ -3,13 +3,13 @@ import ms from "ms";
3
3
  import { inspect } from "util";
4
4
  import xml2js from "xml2js";
5
5
  import { arrIdsEqual, formatFoundIds, getRelevantArrIds, scanAllArrsForMedia, } from "./arr.js";
6
- import { CALIBRE_INDEXNUM_REGEX, EP_REGEX, SEASON_REGEX, UNKNOWN_TRACKER, USER_AGENT, } from "./constants.js";
6
+ import { CALIBRE_INDEXNUM_REGEX, EP_REGEX, MediaType, SEASON_REGEX, UNKNOWN_TRACKER, USER_AGENT, } from "./constants.js";
7
7
  import { db } from "./db.js";
8
8
  import { CrossSeedError } from "./errors.js";
9
9
  import { ALL_CAPS, getAllIndexers, getEnabledIndexers, IndexerStatus, updateIndexerCapsById, updateIndexerStatus, } from "./indexers.js";
10
- import { Label, logger, logOnce } from "./logger.js";
10
+ import { Label, logger } from "./logger.js";
11
11
  import { getRuntimeConfig } from "./runtimeConfig.js";
12
- import { cleanTitle, combineAsyncIterables, extractInt, formatAsList, getAnimeQueries, getApikey, getLogString, getMediaType, isTruthy, MediaType, nMsAgo, reformatTitleForSearching, sanitizeUrl, stripExtension, stripMetaFromName, } from "./utils.js";
12
+ import { cleanTitle, combineAsyncIterables, comparing, extractInt, formatAsList, getAnimeQueries, getApikey, getLogString, getMediaType, humanReadableDate, isTruthy, nMsAgo, reformatTitleForSearching, sanitizeUrl, stripExtension, stripMetaFromName, } from "./utils.js";
13
13
  function parseTorznabResults(xml) {
14
14
  const items = xml?.rss?.channel?.[0]?.item;
15
15
  if (!items || !Array.isArray(items)) {
@@ -190,7 +190,7 @@ export async function logQueries(searcheeTitle, mediaType) {
190
190
  // @ts-expect-error needs conversion to use searchee instead of stem
191
191
  `RAW: ${inspect(await createTorznabSearchQueries(stem, mediaType, ALL_CAPS))}`);
192
192
  const res = await scanAllArrsForMedia(searcheeTitle, mediaType);
193
- const parsedMedia = res.isOk() ? res.unwrap() : undefined;
193
+ const parsedMedia = res.orElse(undefined);
194
194
  logger.info(
195
195
  // @ts-expect-error needs conversion to use searchee instead of stem
196
196
  `ID: ${inspect(await createTorznabSearchQueries(stem, mediaType, ALL_CAPS, parsedMedia))}`);
@@ -213,61 +213,88 @@ export function indexerDoesSupportMediaType(mediaType, caps) {
213
213
  return caps.additional;
214
214
  }
215
215
  }
216
- export async function* rssPager(indexer, pageBackUntil) {
217
- let earliestSeen = Infinity;
216
+ export async function* rssPager(indexer, timeSinceLastRun) {
218
217
  const limit = indexer.limits.max;
219
- for (let i = 0; i < 10; i++) {
218
+ const lastSeenGuid = (await db("rss")
219
+ .where({ indexer_id: indexer.id })
220
+ .select("last_seen_guid")
221
+ .first())?.last_seen_guid;
222
+ let newLastSeenGuid = lastSeenGuid;
223
+ let pageBackUntil = 0;
224
+ const maxPage = 10;
225
+ let i = -1;
226
+ while (++i < maxPage) {
220
227
  let currentPageCandidates;
221
228
  try {
222
- currentPageCandidates = await makeRequest({
229
+ currentPageCandidates = (await makeRequest({
223
230
  indexerId: indexer.id,
224
231
  baseUrl: indexer.url,
225
232
  apikey: indexer.apikey,
226
233
  query: { t: "search", q: "", limit, offset: i * limit },
227
- });
234
+ })).sort(comparing((candidate) => -candidate.pubDate));
235
+ if (i === 0) {
236
+ newLastSeenGuid = currentPageCandidates[0].guid;
237
+ pageBackUntil =
238
+ currentPageCandidates[0].pubDate - timeSinceLastRun;
239
+ }
228
240
  }
229
241
  catch (e) {
230
242
  logger.error({
231
243
  label: Label.TORZNAB,
232
- message: `Paging indexer ${indexer.id} stopped: request failed for page ${i + 1}`,
244
+ message: `Paging indexer ${indexer.url} stopped at page ${i + 1}: request failed`,
233
245
  });
234
246
  logger.debug(e);
235
- return;
247
+ break;
248
+ }
249
+ let newCandidates = [];
250
+ let found = false;
251
+ for (const candidate of currentPageCandidates) {
252
+ if (candidate.guid === lastSeenGuid) {
253
+ found = true;
254
+ break;
255
+ }
256
+ newCandidates.push(candidate);
236
257
  }
237
- const allNewPubDates = currentPageCandidates.map((c) => c.pubDate);
238
- const currentPageEarliest = Math.min(...allNewPubDates);
239
- const currentPageLatest = Math.max(...allNewPubDates);
240
- const newCandidates = currentPageCandidates.filter((c) => c.pubDate < earliestSeen && c.pubDate >= pageBackUntil);
241
- if (currentPageLatest > Date.now() + ms("10 minutes")) {
242
- logOnce(`timezone-issues-${indexer.id}`, () => void logger.warn(`Indexer ${indexer.url} reported releases in the future. Its timezone may be misconfigured.`), ms("10 minutes"));
258
+ if (!found) {
259
+ newCandidates = newCandidates.filter((candidate) => candidate.pubDate >= pageBackUntil);
243
260
  }
244
261
  if (!newCandidates.length) {
245
262
  logger.verbose({
246
263
  label: Label.TORZNAB,
247
- message: `Paging indexer ${indexer.id} stopped: nothing new in page ${i + 1}`,
264
+ message: `Paging indexer ${indexer.url} stopped at page ${i + 1}: no new candidates`,
248
265
  });
249
- return;
266
+ break;
250
267
  }
251
268
  logger.verbose({
252
269
  label: Label.TORZNAB,
253
- message: `${newCandidates.length} new candidates on indexer ${indexer.id} page ${i + 1}`,
270
+ message: `${newCandidates.length} new candidates on indexer ${indexer.url} page ${i + 1}`,
254
271
  });
255
- // yield each new candidate
256
272
  yield* newCandidates;
257
- earliestSeen = Math.min(earliestSeen, currentPageEarliest);
273
+ if (newCandidates.length !== currentPageCandidates.length) {
274
+ logger.verbose({
275
+ label: Label.TORZNAB,
276
+ message: `Paging indexer ${indexer.url} stopped at page ${i + 1}: reached last seen guid or pageBackUntil ${humanReadableDate(pageBackUntil)}`,
277
+ });
278
+ break;
279
+ }
280
+ }
281
+ await db("rss")
282
+ .insert({ indexer_id: indexer.id, last_seen_guid: newLastSeenGuid })
283
+ .onConflict("indexer_id")
284
+ .merge(["last_seen_guid"]);
285
+ if (i >= maxPage) {
286
+ logger.verbose({
287
+ label: Label.TORZNAB,
288
+ message: `Paging indexer ${indexer.url} stopped: reached ${maxPage} pages`,
289
+ });
258
290
  }
259
- logger.verbose({
260
- label: Label.TORZNAB,
261
- message: `Paging indexer ${indexer.url} stopped: reached 10 pages`,
262
- });
263
291
  }
264
- export async function* queryRssFeeds(previousRunTime) {
292
+ export async function* queryRssFeeds(lastRun) {
293
+ const timeSinceLastRun = Date.now() - lastRun;
265
294
  const indexers = await getEnabledIndexers();
266
- // offset -5m for delayed RSS -> publishing time
267
- const timeWithOffset = previousRunTime - 300000;
268
- yield* combineAsyncIterables(indexers.map((indexer) => rssPager(indexer, timeWithOffset)));
295
+ yield* combineAsyncIterables(indexers.map((indexer) => rssPager(indexer, timeSinceLastRun)));
269
296
  }
270
- export async function searchTorznab(searchee, cachedSearch, progress) {
297
+ export async function searchTorznab(searchee, indexerSearchCount, cachedSearch, progress) {
271
298
  const { torznab } = getRuntimeConfig();
272
299
  if (torznab.length === 0) {
273
300
  logger.warn({
@@ -277,7 +304,7 @@ export async function searchTorznab(searchee, cachedSearch, progress) {
277
304
  return [];
278
305
  }
279
306
  const mediaType = getMediaType(searchee);
280
- const { indexersToSearch, parsedMedia } = await getAndLogIndexers(searchee, cachedSearch, mediaType, progress);
307
+ const { indexersToSearch, parsedMedia } = await getAndLogIndexers(searchee, indexerSearchCount, cachedSearch, mediaType, progress);
281
308
  const indexerCandidates = await makeRequests(indexersToSearch, async (indexer) => {
282
309
  const caps = {
283
310
  search: indexer.searchCap,
@@ -479,8 +506,8 @@ async function makeRequests(indexers, getQueriesForIndexer) {
479
506
  candidates: results,
480
507
  }));
481
508
  }
482
- async function getAndLogIndexers(searchee, cachedSearch, mediaType, progress) {
483
- const { excludeRecentSearch, excludeOlder } = getRuntimeConfig();
509
+ async function getAndLogIndexers(searchee, indexerSearchCount, cachedSearch, mediaType, progress) {
510
+ const { excludeRecentSearch, excludeOlder, searchLimit } = getRuntimeConfig();
484
511
  const searcheeLog = getLogString(searchee, chalk.bold.white);
485
512
  const mediaTypeLog = chalk.white(mediaType.toUpperCase());
486
513
  const enabledIndexers = await getEnabledIndexers();
@@ -524,7 +551,7 @@ async function getAndLogIndexers(searchee, cachedSearch, mediaType, progress) {
524
551
  if (cachedSearch.q === searchStr) {
525
552
  shouldScanArr = false;
526
553
  const res = await scanAllArrsForMedia(name, mediaType);
527
- parsedMedia = res.isOk() ? res.unwrap() : undefined;
554
+ parsedMedia = res.orElse(undefined);
528
555
  const ids = parsedMedia?.movie ?? parsedMedia?.series;
529
556
  if (!arrIdsEqual(ids, cachedSearch.ids)) {
530
557
  cachedSearch.indexerCandidates.length = 0;
@@ -537,17 +564,31 @@ async function getAndLogIndexers(searchee, cachedSearch, mediaType, progress) {
537
564
  cachedSearch.ids = undefined; // Don't prematurely get ids if skipping
538
565
  }
539
566
  const indexersToSearch = indexersToUse.filter((indexer) => {
540
- return !cachedSearch.indexerCandidates.some((candidates) => candidates.indexerId === indexer.id);
567
+ if (cachedSearch.indexerCandidates.some((candidates) => candidates.indexerId === indexer.id)) {
568
+ return false;
569
+ }
570
+ if (!searchLimit)
571
+ return true;
572
+ if (!indexerSearchCount.has(indexer.id)) {
573
+ indexerSearchCount.set(indexer.id, 0);
574
+ }
575
+ if (indexerSearchCount.get(indexer.id) >= searchLimit)
576
+ return false;
577
+ indexerSearchCount.set(indexer.id, indexerSearchCount.get(indexer.id) + 1);
578
+ return true;
541
579
  });
542
- const filteringCauses = [
543
- enabledIndexers.length > timeFilteredIndexers.length && "timestamps",
544
- timeFilteredIndexers.length > indexersToUse.length && "category",
545
- ].filter(isTruthy);
546
- const reasonStr = filteringCauses.length
547
- ? ` (filtered by ${formatAsList(filteringCauses, { sort: true })})`
548
- : "";
549
580
  if (!indexersToSearch.length && !cachedSearch.indexerCandidates.length) {
550
581
  cachedSearch.q = null; // Won't scan arrs for multiple skips in a row
582
+ const filteringCauses = [
583
+ enabledIndexers.length > timeFilteredIndexers.length &&
584
+ "timestamps",
585
+ timeFilteredIndexers.length > indexersToUse.length && "category",
586
+ indexersToSearch.length + cachedSearch.indexerCandidates.length <
587
+ indexersToUse.length && "searchLimit",
588
+ ].filter(isTruthy);
589
+ const reasonStr = filteringCauses.length
590
+ ? ` (filtered by ${formatAsList(filteringCauses, { sort: true })})`
591
+ : "";
551
592
  logger.info({
552
593
  label: searchee.label,
553
594
  message: `${progress}Skipped searching on indexers for ${searcheeLog}${reasonStr} | MediaType: ${mediaTypeLog} | IDs: N/A`,
@@ -556,7 +597,7 @@ async function getAndLogIndexers(searchee, cachedSearch, mediaType, progress) {
556
597
  }
557
598
  if (shouldScanArr) {
558
599
  const res = await scanAllArrsForMedia(name, mediaType);
559
- parsedMedia = res.isOk() ? res.unwrap() : undefined;
600
+ parsedMedia = res.orElse(undefined);
560
601
  cachedSearch.ids = parsedMedia?.movie ?? parsedMedia?.series;
561
602
  }
562
603
  const idsStr = cachedSearch.ids ? formatFoundIds(cachedSearch.ids) : "NONE";
@@ -1 +1 @@
1
- {"version":3,"file":"torznab.js","sourceRoot":"","sources":["../src/torznab.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"torznab.js","sourceRoot":"","sources":["../src/torznab.ts"],"names":[],"mappings":"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"}
package/dist/utils.js CHANGED
@@ -1,20 +1,9 @@
1
1
  import chalk from "chalk";
2
2
  import { distance } from "fastest-levenshtein";
3
3
  import path from "path";
4
- import { ALL_EXTENSIONS, ANIME_REGEX, AUDIO_EXTENSIONS, BOOK_EXTENSIONS, Decision, EP_REGEX, JSON_VALUES_REGEX, LEVENSHTEIN_DIVISOR, MOVIE_REGEX, NON_UNICODE_ALPHANUM_REGEX, RELEASE_GROUP_REGEX, REPACK_PROPER_REGEX, RESOLUTION_REGEX, SCENE_TITLE_REGEX, SEASON_REGEX, sourceRegexRemove, VIDEO_DISC_EXTENSIONS, VIDEO_EXTENSIONS, YEARS_REGEX, } from "./constants.js";
4
+ import { ALL_EXTENSIONS, ANIME_REGEX, AUDIO_EXTENSIONS, BOOK_EXTENSIONS, EP_REGEX, JSON_VALUES_REGEX, LEVENSHTEIN_DIVISOR, MediaType, MOVIE_REGEX, NON_UNICODE_ALPHANUM_REGEX, RELEASE_GROUP_REGEX, REPACK_PROPER_REGEX, RESOLUTION_REGEX, SCENE_TITLE_REGEX, SEASON_REGEX, sourceRegexRemove, VIDEO_DISC_EXTENSIONS, VIDEO_EXTENSIONS, YEARS_REGEX, } from "./constants.js";
5
5
  import { resultOf, resultOfErr } from "./Result.js";
6
6
  import { getRuntimeConfig } from "./runtimeConfig.js";
7
- export var MediaType;
8
- (function (MediaType) {
9
- MediaType["EPISODE"] = "episode";
10
- MediaType["SEASON"] = "pack";
11
- MediaType["MOVIE"] = "movie";
12
- MediaType["ANIME"] = "anime";
13
- MediaType["VIDEO"] = "video";
14
- MediaType["AUDIO"] = "audio";
15
- MediaType["BOOK"] = "book";
16
- MediaType["OTHER"] = "unknown";
17
- })(MediaType || (MediaType = {}));
18
7
  export function isTruthy(value) {
19
8
  return Boolean(value);
20
9
  }
@@ -31,9 +20,13 @@ export function nMsAgo(n) {
31
20
  export function wait(n) {
32
21
  return new Promise((resolve) => setTimeout(resolve, n));
33
22
  }
34
- export function humanReadableSize(bytes) {
35
- const k = 1000;
36
- const sizes = ["B", "kB", "MB", "GB", "TB"];
23
+ export function humanReadableSize(bytes, options) {
24
+ if (bytes === 0)
25
+ return "0 B";
26
+ const k = options?.binary ? 1024 : 1000;
27
+ const sizes = options?.binary
28
+ ? ["B", "KiB", "MiB", "GiB", "TiB"]
29
+ : ["B", "kB", "MB", "GB", "TB"];
37
30
  // engineering notation: (coefficient) * 1000 ^ (exponent)
38
31
  const exponent = Math.floor(Math.log(Math.abs(bytes)) / Math.log(k));
39
32
  const coefficient = bytes / Math.pow(k, exponent);
@@ -80,18 +73,6 @@ export function getMediaType(searchee) {
80
73
  return unsupportedMediaType(searchee);
81
74
  }
82
75
  }
83
- export function shouldRecheck(searchee, decision) {
84
- if (hasExt(searchee.files, VIDEO_DISC_EXTENSIONS))
85
- return true;
86
- switch (decision) {
87
- case Decision.MATCH:
88
- case Decision.MATCH_SIZE_ONLY:
89
- return false;
90
- case Decision.MATCH_PARTIAL:
91
- default:
92
- return true;
93
- }
94
- }
95
76
  export function areMediaTitlesSimilar(a, b) {
96
77
  const matchA = a.match(EP_REGEX) ??
97
78
  a.match(SEASON_REGEX) ??
@@ -233,7 +214,7 @@ export function formatAsList(strings, options) {
233
214
  if (options.sort)
234
215
  strings.sort((a, b) => a.localeCompare(b));
235
216
  return new Intl.ListFormat("en", {
236
- style: "long",
217
+ style: options.style ?? "long",
237
218
  type: options.type ?? "conjunction",
238
219
  }).format(strings);
239
220
  }