mirror of
https://github.com/knightcrawler-stremio/knightcrawler.git
synced 2024-12-20 03:29:51 +00:00
adds sample and extras file filter
This commit is contained in:
@@ -38,7 +38,9 @@ module.exports.torrentFiles = function (torrent) {
|
|||||||
return filesFromTorrentFile(torrent)
|
return filesFromTorrentFile(torrent)
|
||||||
.catch(() => filesFromTorrentStream(torrent))
|
.catch(() => filesFromTorrentStream(torrent))
|
||||||
.catch(() => filesFromCache(torrent.infoHash))
|
.catch(() => filesFromCache(torrent.infoHash))
|
||||||
.then((files) => files.filter((file) => isVideo(file)));
|
.then((files) => filterVideos(files))
|
||||||
|
.then((files) => filterSamples(files))
|
||||||
|
.then((files) => filterExtras(files));
|
||||||
};
|
};
|
||||||
|
|
||||||
function filesFromCache(infoHash) {
|
function filesFromCache(infoHash) {
|
||||||
@@ -101,9 +103,22 @@ async function filesFromTorrentStream(torrent) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function isVideo(title) {
|
function filterVideos(files) {
|
||||||
const match = title.path.match(/\.(\w{2,4})$/);
|
return files.filter((file) => {
|
||||||
return match && EXTENSIONS.includes(match[1]);
|
const match = file.path.match(/\.(\w{2,4})$/);
|
||||||
|
return match && EXTENSIONS.includes(match[1]);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function filterSamples(files) {
|
||||||
|
const maxSize = Math.max(...files.map(file => file.size));
|
||||||
|
const isSample = file => file.name.match(/sample/i) && maxSize / file.size < 10;
|
||||||
|
return files.filter(file => !isSample(file));
|
||||||
|
}
|
||||||
|
|
||||||
|
function filterExtras(files) {
|
||||||
|
const isSample = file => file.path.match(/extras?\//i);
|
||||||
|
return files.filter(file => !isSample(file));
|
||||||
}
|
}
|
||||||
|
|
||||||
function dynamicTimeout(torrent) {
|
function dynamicTimeout(torrent) {
|
||||||
|
|||||||
@@ -109,11 +109,18 @@ async function findAllFiles() {
|
|||||||
// type: Type.SERIES,
|
// type: Type.SERIES,
|
||||||
// imdbId: 'tt0320037'
|
// imdbId: 'tt0320037'
|
||||||
// };
|
// };
|
||||||
|
/* With extras exceeding season episode count */
|
||||||
|
// const torrent = {
|
||||||
|
// infoHash: '2af56a80357b61d839328b986d1165ea8395bbc0',
|
||||||
|
// title: 'Tim and Eric - Complete',
|
||||||
|
// type: Type.SERIES,
|
||||||
|
// imdbId: 'tt0912343'
|
||||||
|
// };
|
||||||
|
|
||||||
return parseTorrentFiles(torrent)
|
return parseTorrentFiles(torrent)
|
||||||
.then((files) => console.log(files));
|
.then((files) => console.log(files));
|
||||||
}
|
}
|
||||||
|
|
||||||
//addMissingEpisodes().then(() => console.log('Finished'));
|
//addMissingEpisodes().then(() => console.log('Finished'));
|
||||||
//findAllFiles().then(() => console.log('Finished'));
|
findAllFiles().then(() => console.log('Finished'));
|
||||||
updateMovieCollections().then(() => console.log('Finished'));
|
//updateMovieCollections().then(() => console.log('Finished'));
|
||||||
2
package-lock.json
generated
2
package-lock.json
generated
@@ -1714,7 +1714,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"parse-torrent-title": {
|
"parse-torrent-title": {
|
||||||
"version": "git://github.com/TheBeastLT/parse-torrent-title.git#0da8a2caeeadb7e20317cd33ad2fc647e4e53d70",
|
"version": "git://github.com/TheBeastLT/parse-torrent-title.git#91d711a5c3558baced7d20cb5a5458a859ddede6",
|
||||||
"from": "git://github.com/TheBeastLT/parse-torrent-title.git#master"
|
"from": "git://github.com/TheBeastLT/parse-torrent-title.git#master"
|
||||||
},
|
},
|
||||||
"parseurl": {
|
"parseurl": {
|
||||||
|
|||||||
Reference in New Issue
Block a user