From: Radek Czajka Date: Tue, 20 Apr 2021 21:28:42 +0000 (+0200) Subject: Use FILE_UPLOAD_TEMP_DIR for big files. X-Git-Url: https://git.mdrn.pl/audio.git/commitdiff_plain/3c7adf8af63a913089eb5ec736443ea0c59a8d68?ds=sidebyside;hp=8bcd64e22154f412eb61e304a3239271ea75670a Use FILE_UPLOAD_TEMP_DIR for big files. --- diff --git a/src/archive/tasks.py b/src/archive/tasks.py index c38e6c1..3538a73 100644 --- a/src/archive/tasks.py +++ b/src/archive/tasks.py @@ -10,6 +10,7 @@ from tempfile import NamedTemporaryFile from time import sleep from celery.task import Task +from django.conf import settings from django.db.models import F from django.contrib.auth.models import User from mutagen import File @@ -100,7 +101,10 @@ class AudioFormatTask(Task): else: user = None - out_file = NamedTemporaryFile(delete=False, prefix='%d-' % aid, suffix='.%s' % self.ext) + out_file = NamedTemporaryFile( + delete=False, prefix='%d-' % aid, suffix='.%s' % self.ext, + dir=settings.FILE_UPLOAD_TEMP_DIR + ) out_file.close() self.encode(self.get_source_file_paths(audiobook), out_file.name) self.set_status(aid, status.TAGGING) diff --git a/src/youtube/models.py b/src/youtube/models.py index 32d5f04..76a02b9 100644 --- a/src/youtube/models.py +++ b/src/youtube/models.py @@ -1,6 +1,5 @@ import io from os import unlink -from tempfile import NamedTemporaryFile from django.db import models from django.utils.translation import gettext_lazy as _ from django.template import Template, Context diff --git a/src/youtube/utils.py b/src/youtube/utils.py index 6c95c69..3b64018 100644 --- a/src/youtube/utils.py +++ b/src/youtube/utils.py @@ -23,7 +23,10 @@ def link_or_copy(src, dst): def process_to_file(cmdline, prefix='', suffix='', cache_key=None, output_path=None): if not output_path: - tmp = NamedTemporaryFile(prefix=prefix, suffix=suffix, delete=False) + tmp = NamedTemporaryFile( + prefix=prefix, suffix=suffix, delete=False, + dir=settings.FILE_UPLOAD_TEMP_DIR + ) tmp.close() output_path = tmp.name @@ -59,7 +62,10 @@ def cut_video(video_path, duration): def ffmpeg_concat(paths, suffix, copy=False): - filelist = NamedTemporaryFile(prefix='concat-', suffix='.txt') + filelist = NamedTemporaryFile( + prefix='concat-', suffix='.txt', + dir=settings.FILE_UPLOAD_TEMP_DIR + ) for path in paths: filelist.write(f"file '{path}'\n".encode('utf-8')) filelist.flush()