1
0
Fork 0

More robust updateTorrentMetadata

This commit is contained in:
Chocobozzz 2022-10-26 10:55:12 +02:00
parent ce3121efeb
commit 44df702502
No known key found for this signature in database
GPG key ID: 583A612D890159BE
2 changed files with 8 additions and 3 deletions

View file

@ -1,6 +1,6 @@
import { decode, encode } from 'bencode'
import createTorrent from 'create-torrent'
import { createWriteStream, ensureDir, readFile, remove, writeFile } from 'fs-extra'
import { createWriteStream, ensureDir, pathExists, readFile, remove, writeFile } from 'fs-extra'
import magnetUtil from 'magnet-uri'
import parseTorrent from 'parse-torrent'
import { dirname, join } from 'path'
@ -134,6 +134,11 @@ async function updateTorrentMetadata (videoOrPlaylist: MVideo | MStreamingPlayli
const oldTorrentPath = join(CONFIG.STORAGE.TORRENTS_DIR, videoFile.torrentFilename)
if (!await pathExists(oldTorrentPath)) {
logger.info('Do not update torrent metadata %s of video %s because the file does not exist anymore.', video.uuid, oldTorrentPath)
return
}
const torrentContent = await readFile(oldTorrentPath)
const decoded = decode(torrentContent)
@ -151,7 +156,7 @@ async function updateTorrentMetadata (videoOrPlaylist: MVideo | MStreamingPlayli
logger.info('Updating torrent metadata %s -> %s.', oldTorrentPath, newTorrentPath)
await writeFile(newTorrentPath, encode(decoded))
await remove(join(CONFIG.STORAGE.TORRENTS_DIR, videoFile.torrentFilename))
await remove(oldTorrentPath)
videoFile.torrentFilename = newTorrentFilename
videoFile.infoHash = sha1(encode(decoded.info))

View file

@ -113,7 +113,7 @@ async function completeCheckHlsPlaylist (options: {
expect(file.magnetUri).to.have.lengthOf.above(2)
expect(file.torrentUrl).to.match(
new RegExp(`http://${server.host}/lazy-static/torrents/${uuidRegex}-${file.resolution.id}-hls.torrent`)
new RegExp(`${server.url}/lazy-static/torrents/${uuidRegex}-${file.resolution.id}-hls.torrent`)
)
if (objectStorageBaseUrl) {