mirror of
https://github.com/knightcrawler-stremio/knightcrawler.git
synced 2024-12-20 03:29:51 +00:00
[scraper] upsert subtitles when updating existing file
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
const moment = require('moment');
|
const moment = require('moment');
|
||||||
|
const Promises = require('./promises')
|
||||||
const { Sequelize, fn, col, literal } = require('sequelize');
|
const { Sequelize, fn, col, literal } = require('sequelize');
|
||||||
const Op = Sequelize.Op;
|
const Op = Sequelize.Op;
|
||||||
|
|
||||||
@@ -201,7 +202,7 @@ function setTorrentSeeders(infoHash, seeders) {
|
|||||||
|
|
||||||
function createFile(file) {
|
function createFile(file) {
|
||||||
if (file.id) {
|
if (file.id) {
|
||||||
return File.upsert(file);
|
return File.upsert(file).then(() => upsertSubtitles(file.id, file.subtitles));
|
||||||
}
|
}
|
||||||
return File.create(file, { include: [Subtitle] });
|
return File.create(file, { include: [Subtitle] });
|
||||||
}
|
}
|
||||||
@@ -225,6 +226,15 @@ function createSubtitles(infoHash, subtitles) {
|
|||||||
return Promise.resolve();
|
return Promise.resolve();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function upsertSubtitles(file, subtitles) {
|
||||||
|
if (file.id && subtitles && subtitles.length) {
|
||||||
|
return Promises.sequence(subtitles
|
||||||
|
.map(subtitle => ({ fileId: file.id, infoHash: file.infoHash, title: subtitle.path, ...subtitle }))
|
||||||
|
.map(subtitle => () => Subtitle.upsert(subtitle)));
|
||||||
|
}
|
||||||
|
return Promise.resolve();
|
||||||
|
}
|
||||||
|
|
||||||
function getSubtitles(torrent) {
|
function getSubtitles(torrent) {
|
||||||
return Subtitle.findAll({ where: { infoHash: torrent.infoHash } });
|
return Subtitle.findAll({ where: { infoHash: torrent.infoHash } });
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user