Add file cache.
[audio.git] / src / youtube / models.py
index 1a3fd01..f0ecc6c 100644 (file)
@@ -1,11 +1,11 @@
 import io
 from os import unlink
 from tempfile import NamedTemporaryFile
-from django.conf import settings
 from django.db import models
 from django.utils.translation import gettext_lazy as _
 from django.template import Template, Context
 from apiclient import youtube_call
+from archive.settings import LICENSE, LICENSE_NAME
 from .utils import (
     concat_audio,
     concat_videos,
@@ -13,6 +13,7 @@ from .utils import (
     get_duration,
     get_framerate,
     mux,
+    standardize_audio,
     standardize_video,
     video_from_image,
 )
@@ -45,8 +46,8 @@ class YouTube(models.Model):
     def get_context(self, audiobook):
         return Context(dict(
             audiobook=audiobook,
-            LICENSE=settings.LICENSE,
-            LICENSE_NAME=settings.LICENSE_NAME,
+            LICENSE=LICENSE,
+            LICENSE_NAME=LICENSE_NAME,
         ))
 
     def get_description(self, audiobook):
@@ -118,12 +119,19 @@ class YouTube(models.Model):
     
     def prepare_audio(self, input_path):
         files = []
+        delete = []
         if self.intro_flac:
-            files.append(self.intro_flac.path)
+            files.append(standardize_audio(self.intro_flac.path))
+            delete.append(files[-1])
         files.append(input_path)
         if self.outro_flac:
-            files.append(self.outro_flac.path)
-        return concat_audio(files)
+            files.append(standardize_audio(self.outro_flac.path))
+            delete.append(files[-1])
+        output = concat_audio(files)
+        for d in delete:
+            unlink(d)
+        return output
+
     
     def prepare_video(self, duration):
         concat = []