]> git.parisson.com Git - telemeta.git/commitdiff
fix mp3 transcoding
authorGuillaume Pellerin <yomguy@parisson.com>
Tue, 20 Oct 2015 15:02:42 +0000 (17:02 +0200)
committerGuillaume Pellerin <yomguy@parisson.com>
Tue, 20 Oct 2015 15:02:42 +0000 (17:02 +0200)
tools/scripts/transcode/remux_fix_media.py

index 0d5056725436b08650e0c25918352c2bcf3b722d..a95a3bae0b26bf47ddd33e20d121a9a05ccd01d9 100755 (executable)
@@ -18,35 +18,40 @@ class FixCheckMedia(object):
         mp3_fixed_log = 'mp3.fixed'
         mp3_tofix_log = 'mp3.tofix'
 
-        for root, dirs, files in os.walk(self.dir):
+        for root, dirs, files in os.walk(self.dir, followlinks=True):
             for filename in files:
                 source = root + os.sep + filename
                 name = os.path.splitext(filename)[0]
                 ext = os.path.splitext(filename)[1][1:]
-
+                #print source, name, ext
+                
                 if ext == 'webm' and os.path.getsize(source):
                     dir_files = os.listdir(root)
-
                     if not webm_fixed_log in dir_files:
-                        print source    
+                        #print source    
                         self.fix_webm(source)
                         f = open(root + os.sep + webm_fixed_log, 'w')
                         f.close()
                         if os.path.exists(root + os.sep + webm_tofix_log):
                             os.remove(root + os.sep + webm_tofix_log)
-            
-                    if mp3_tofix_log in dir_files and not mp3_fixed_log in dir_files:
-                        for file in dir_files:
-                            dest_ext = os.path.splitext(file)[1][1:]
-                            if dest_ext == 'mp3':
-                                dest = root + os.sep + file
-                                print dest
-                                self.fix_mp3(source, dest)
-                                f = open(root + os.sep + mp3_fixed_log, 'w')
-                                f.close()
-                                if os.path.exists(root + os.sep + mp3_tofix_log):
-                                    os.remove(root + os.sep + mp3_tofix_log)
-                                #break
+                    for filename in dir_files:
+                        if '.mp3' in filename:
+                            dest = root + os.sep + filename
+                            mp3_size = os.stat(dest).st_size
+                            break
+                        else:
+                            dest = root + os.sep + name + '.mp3'
+                            mp3_size = 0
+                    
+                    #FIXME force MP3 reencode
+                    if (mp3_tofix_log in dir_files and not mp3_fixed_log in dir_files) or (mp3_size < 10000000 and not mp3_fixed_log in dir_files):
+                        print dest
+                        self.fix_mp3(source, dest)
+                        f = open(root + os.sep + mp3_fixed_log, 'w')
+                        f.close()
+                        if os.path.exists(root + os.sep + mp3_tofix_log):
+                            os.remove(root + os.sep + mp3_tofix_log)
 
 
     def hard_fix_webm(self, path):
@@ -100,7 +105,7 @@ dir = sys.argv[-2]
 tmp_dir = sys.argv[-1]
 
 path =  os.path.abspath(__file__)
-pids = get_pids('python2.6',args=path)
+pids = get_pids('python',args=path)
 
 print datetime.datetime.now()
 if len(pids) <= 1: