diff options
Diffstat (limited to 'server/helpers/utils.ts')
-rw-r--r-- | server/helpers/utils.ts | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/server/helpers/utils.ts b/server/helpers/utils.ts index 7a4c781cc..11c118292 100644 --- a/server/helpers/utils.ts +++ b/server/helpers/utils.ts | |||
@@ -7,6 +7,7 @@ import { Instance as ParseTorrent } from 'parse-torrent' | |||
7 | import { remove } from 'fs-extra' | 7 | import { remove } from 'fs-extra' |
8 | import * as memoizee from 'memoizee' | 8 | import * as memoizee from 'memoizee' |
9 | import { CONFIG } from '../initializers/config' | 9 | import { CONFIG } from '../initializers/config' |
10 | import { isVideoFileExtnameValid } from './custom-validators/videos' | ||
10 | 11 | ||
11 | function deleteFileAsync (path: string) { | 12 | function deleteFileAsync (path: string) { |
12 | remove(path) | 13 | remove(path) |
@@ -42,11 +43,18 @@ const getServerActor = memoizee(async function () { | |||
42 | return actor | 43 | return actor |
43 | }, { promise: true }) | 44 | }, { promise: true }) |
44 | 45 | ||
45 | function generateVideoImportTmpPath (target: string | ParseTorrent) { | 46 | function generateVideoImportTmpPath (target: string | ParseTorrent, extensionArg?: string) { |
46 | const id = typeof target === 'string' ? target : target.infoHash | 47 | const id = typeof target === 'string' |
48 | ? target | ||
49 | : target.infoHash | ||
50 | |||
51 | let extension = '.mp4' | ||
52 | if (extensionArg && isVideoFileExtnameValid(extensionArg)) { | ||
53 | extension = extensionArg | ||
54 | } | ||
47 | 55 | ||
48 | const hash = sha256(id) | 56 | const hash = sha256(id) |
49 | return join(CONFIG.STORAGE.TMP_DIR, hash + '-import.mp4') | 57 | return join(CONFIG.STORAGE.TMP_DIR, `${hash}-import${extension}`) |
50 | } | 58 | } |
51 | 59 | ||
52 | function getSecureTorrentName (originalName: string) { | 60 | function getSecureTorrentName (originalName: string) { |