]> git.0d.be Git - django-panik-emissions.git/commitdiff
add option to keep original soundfile for podcast
authorFrédéric Péters <fpeters@0d.be>
Sat, 21 Jul 2018 11:41:09 +0000 (13:41 +0200)
committerFrédéric Péters <fpeters@0d.be>
Sat, 21 Jul 2018 11:41:09 +0000 (13:41 +0200)
emissions/management/commands/create-sound-files.py

index 69f84c6f1c2dccbd1b30766b1b0beeab6be263b7..b240e0c5e3c5ddbc0c51f178653863f944e9d957 100644 (file)
@@ -1,6 +1,7 @@
 import base64
 import mutagen
 import mutagen.mp3
+import shutil
 import os
 import subprocess
 
@@ -34,10 +35,16 @@ class Command(BaseCommand):
             metavar='EPISODE',
             default=None,
             help='Process files belonging to episode only'),
+        make_option('--copy',
+            action='store_true',
+            dest='copy',
+            default=False,
+            help='Copy initial file (ogg only)'),
         )
 
-    def handle(self, force, reset_metadata, emission, episode, verbosity, **kwargs):
+    def handle(self, force, reset_metadata, copy, emission, episode, verbosity, **kwargs):
         self.verbose = (verbosity > 1)
+        self.copy = copy
 
         for soundfile in SoundFile.objects.select_related().exclude(podcastable=False):
             if emission and soundfile.episode.emission.slug != emission:
@@ -71,6 +78,9 @@ class Command(BaseCommand):
         cmd = ['ffmpeg', '-y', '-i', soundfile.file.path]
 
         if format == 'ogg':
+            if self.copy:
+                shutil.copy(soundfile.file.path, file_path)
+                return
             cmd.extend(['-q:a', '5'])
         elif format == 'mp3':
             cmd.extend(['-q:a', '4'])