Remove BUILD_PATH, that's what TMPDIR is for.
[audio.git] / src / youtube / models.py
index ecc05e4..eb669e0 100644 (file)
@@ -5,6 +5,7 @@ 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,
@@ -12,6 +13,7 @@ from .utils import (
     get_duration,
     get_framerate,
     mux,
+    standardize_audio,
     standardize_video,
     video_from_image,
 )
@@ -42,7 +44,11 @@ class YouTube(models.Model):
         verbose_name_plural = _("YouTube configurations")
 
     def get_context(self, audiobook):
-        return Context(dict(audiobook=audiobook))
+        return Context(dict(
+            audiobook=audiobook,
+            LICENSE=LICENSE,
+            LICENSE_NAME=LICENSE_NAME,
+        ))
 
     def get_description(self, audiobook):
         return Template(self.description_template).render(self.get_context(audiobook))
@@ -56,7 +62,8 @@ class YouTube(models.Model):
                 title=self.get_title(audiobook),
                 description=self.get_description(audiobook),
                 categoryId=self.category,
-                defaultLanguage='pl'
+                defaultLanguage='pl',
+                defaultAudioLanguage='pl',
             ),
             status=dict(
                 privacyStatus=self.privacy_status,
@@ -64,7 +71,7 @@ class YouTube(models.Model):
         )
 
     def publish(self, audiobook, path):
-        data = self.get_data()
+        data = self.get_data(audiobook)
         part = ",".join(data.keys())
 
         with open(path, "rb") as f:
@@ -83,7 +90,7 @@ class YouTube(models.Model):
         return response
 
     def update_data(self, audiobook):
-        data = self.get_data()
+        data = self.get_data(audiobook)
         data['id'] = audiobook.youtube_id
         part = ",".join(data.keys())
         youtube_call(
@@ -113,11 +120,15 @@ class YouTube(models.Model):
     def prepare_audio(self, input_path):
         files = []
         if self.intro_flac:
-            files.append(self.intro_flac.path)
-        files.append(input_path)
+            files.append(standardize_audio(self.intro_flac.path))
+        files.append(standardize_audio(input_path, cache=False))
         if self.outro_flac:
-            files.append(self.outro_flac.path)
-        return concat_audio(files)
+            files.append(standardize_audio(self.outro_flac.path))
+        output = concat_audio(files)
+        for d in files:
+            unlink(d)
+        return output
+
     
     def prepare_video(self, duration):
         concat = []