]> git.parisson.com Git - telemeta-data.git/commitdiff
fix wav detect and logging
authoryomguy <yomguy@3bf09e05-f825-4182-b9bc-eedd7160adf0>
Thu, 7 Jan 2010 14:13:09 +0000 (14:13 +0000)
committeryomguy <yomguy@3bf09e05-f825-4182-b9bc-eedd7160adf0>
Thu, 7 Jan 2010 14:13:09 +0000 (14:13 +0000)
git-svn-id: http://svn.parisson.org/svn/crem@133 3bf09e05-f825-4182-b9bc-eedd7160adf0

trunk/import/audio_import/crem_checker.py

index d36e109cdacdc0c7f596a5fffb6055a1b954d92b..b98e75c64b2914fa661007e52d39c68e691c345a 100755 (executable)
@@ -71,14 +71,11 @@ class Logger:
         self.logger.addHandler(self.hdlr)
         self.logger.setLevel(logging.INFO)
 
-    def write(self, prefix, message):
-        self.logger.info(prefix + ' : ' + message.decode('utf8'))
+    def write_info(self, prefix, message):
+        self.logger.info(' ' + prefix + ' : ' + message.decode('utf8'))
 
     def write_error(self, prefix, message):
-        self.logger.info(prefix + ' : ERROR : ' + message.decode('utf8'))
-
-    def new_collection(self, collection):
-        self.logger.info('***** ' + collection + '*****')
+        self.logger.error(prefix + ' ' + message.decode('utf8'))
 
 
 class CremCollection:
@@ -116,15 +113,15 @@ class CremXLS:
 
     def __init__(self, file):
         self.first_row = 7
-        self.original_col = 1
-        self.new_col = 2
+        self.original_col = 0
+        self.new_col = 1
         self.book = xlrd.open_workbook(file)
         self.sheet = self.book.sheet_by_index(0)
         self.original_refs = self.original_refs()
         self.new_refs = self.new_refs()
 
     def original_refs(self):
-        col = self.sheet.col(0)
+        col = self.sheet.col(self.original_col)
         list = []
         for cell in col[self.first_row:]:
             if cell.ctype == 1:
@@ -132,7 +129,7 @@ class CremXLS:
         return list
 
     def new_refs(self):
-        col = self.sheet.col(2)
+        col = self.sheet.col(self.new_col)
         list = []
         for cell in col[self.first_row:]:
             if cell.ctype == 1:
@@ -151,7 +148,7 @@ class CremItemFile:
     def is_wav(self):
         try:
             audio_file = audiolab.Sndfile(self.media, 'r')
-            if audio_file.get_nframes() and audio_file.get_nframes() != 0:
+            if audio_file.nframes and audio_file.nframes != 0:
                 return True
         except IOError:
             return False
@@ -181,7 +178,7 @@ class CremCheck:
     def check(self):
         for dir in self.dir_list:
             collection = CremCollection(self.root_dir + dir)
-            self.logger.write(collection.dir, '***** VERIFICATION *****')
+            self.logger.write_info(collection.dir, '******************* VERIFICATION *******************')
             xls_list = collection.xls_list()
             wav_list = collection.wav_list()
 
@@ -195,9 +192,8 @@ class CremCheck:
                 xls = CremXLS(self.root_dir + os.sep + dir + os.sep + xls_list[0])
 
                 if len(wav_list) != len(xls.new_refs):
-                    print len(wav_list)
-                    print len(xls.new_refs)
-                    self.logger.write_error(collection.dir, 'Le nombre de références du fichier XLS diffère du nombre de fichiers')
+                    self.logger.write_error(collection.dir, \
+                    'Le nombre de références du fichier XLS (' + str(len(xls.new_refs)) + ') diffère du nombre de fichiers (' + str(len(wav_list)) + ')')
 
                 temp_list = []
                 item_file = CremItemFile()
@@ -209,23 +205,20 @@ class CremCheck:
                     if item[0:17] != collection.dir_name :
                         self.logger.write_error(collection.dir, 'La référence ' + str(item) + ' ne correspond pas à la collection')
 
-                    name_wav = item + '.wav'
+                    name_wav = str(item) + '.wav'
                     if not name_wav in wav_list:
                         self.logger.write_error(collection.dir, 'Le fichier ' + str(item) + '.wav n\'existe pas')
                     else:
-                        item_file.set_media(collection.dir + os.sep + str(item))
-                        #print collection.dir + str(item)
+                        item_file.set_media(collection.dir + os.sep + name_wav)
                         if not item_file.is_wav():
                             self.logger.write_error(collection.dir, 'Le fichier ' + str(item) + '.wav n\'est pas valide')
-                        else:
-                            self.logger.write(collection.dir, 'Le fichier ' + str(item) + '.wav est valide')
 
                     if not item in temp_list:
                         temp_list.append(item)
                     else:
                         self.logger.write_error(collection.dir, 'La référence ' + str(item) + ' est multiple')
 
-            self.logger.write(collection.dir, '***** FIN *****')
+            self.logger.write_info(collection.dir, '******************* FIN *******************')
 
 
 def main():