From d26764fce914f58fbf9474ddb4659e36a0cebed4 Mon Sep 17 00:00:00 2001 From: TheBeastLT Date: Tue, 17 Mar 2020 19:28:43 +0100 Subject: [PATCH] [scraper] move is-video function to a file --- scraper/lib/torrent.js | 8 ++------ scraper/lib/video.js | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+), 6 deletions(-) create mode 100644 scraper/lib/video.js diff --git a/scraper/lib/torrent.js b/scraper/lib/torrent.js index ab8353b..c20bbf9 100644 --- a/scraper/lib/torrent.js +++ b/scraper/lib/torrent.js @@ -4,11 +4,10 @@ const parseTorrent = require('parse-torrent'); const async = require('async'); const decode = require('magnet-uri'); const { retrieveTorrentFiles } = require('./cache'); +const isVideo = require('./video'); const MAX_PEER_CONNECTIONS = process.env.MAX_PEER_CONNECTIONS || 20; const SEEDS_CHECK_TIMEOUT = process.env.SEEDS_CHECK_TIMEOUT || 10 * 1000; // 10 secs -const EXTENSIONS = ["3g2", "3gp", "avi", "flv", "mkv", "mov", "mp2", "mp4", "mpe", "mpeg", "mpg", "mpv", "webm", "wmv", - "ogm"]; module.exports.updateCurrentSeeders = function (torrent) { return new Promise((resolve) => { @@ -110,10 +109,7 @@ async function filesFromTorrentStream(torrent) { } function filterVideos(files) { - return files.filter((file) => { - const match = file.path.match(/\.(\w{2,4})$/); - return match && EXTENSIONS.includes(match[1].toLowerCase()); - }); + return files.filter((file) => isVideo(file.path)); } function filterSamples(files) { diff --git a/scraper/lib/video.js b/scraper/lib/video.js new file mode 100644 index 0000000..5027bc7 --- /dev/null +++ b/scraper/lib/video.js @@ -0,0 +1,22 @@ +const EXTENSIONS = [ + "3g2", + "3gp", + "avi", + "flv", + "mkv", + "mov", + "mp2", + "mp4", + "mpe", + "mpeg", + "mpg", + "mpv", + "webm", + "wmv", + "ogm" +]; + +module.exports = (filename) => { + const extensionMatch = filename.match(/\.(\w{2,4})$/); + return extensionMatch && EXTENSIONS.includes(extensionMatch[1].toLowerCase()); +}; \ No newline at end of file