]> git.parisson.com Git - telemeta-data.git/commitdiff
fix column triming, check sheet name
authoryomguy <yomguy@3bf09e05-f825-4182-b9bc-eedd7160adf0>
Thu, 21 Jan 2010 16:07:41 +0000 (16:07 +0000)
committeryomguy <yomguy@3bf09e05-f825-4182-b9bc-eedd7160adf0>
Thu, 21 Jan 2010 16:07:41 +0000 (16:07 +0000)
git-svn-id: http://svn.parisson.org/svn/crem@141 3bf09e05-f825-4182-b9bc-eedd7160adf0

trunk/import/audio_import/crem_checker.py

index f1f9f3f4cbb7b9d192da7cca8aa7f65c99aee98b..c2714ee07bc1afee02ba3e380d3d6665ab5f6f5d 100755 (executable)
@@ -65,10 +65,11 @@ ITEM_OLD_PATTERN = [
         { 'format': 'DI.aaa.nnn.mmm-o/p',       'regex': r'^(DI)\.([0-9]{3})\.([0-9]{3})\.([0-9]{3})-[0-9]/[0-9]$'}, 
         { 'format': 'FANTOME 2*',               'regex': r'FANTOME 2\*$'},
 
-        # yomguy
-        { 'format': 'BM.aaaa.nnn.mmm.pp',       'regex': r'^(BM)\.([0-9]{4})\.([0-9]{3})\.([0-9]{3})\.[0-9]{2}$'},
-        { 'format': 'BM.aaaa.nnn.mmm/pp:ii-jj', 'regex': r'^(BM)\.([0-9]{4})\.([0-9]{3})\.([0-9]{3})/([0-9]{2})\:([0-9]{2})\-([0-9]{2})$'},
-        { 'format': 'BM.aaaa.nnn.mmm:ii-jj',    'regex': r'^(BM)\.([0-9]{4})\.([0-9]{3})\.([0-9]{3}):([0-9]{2})\-([0-9]{2})$'},
+        ## yomguy
+        { 'format': 'BM.aaaa.nnn.mm',       'regex': r'^(BM)\.([0-9]{4})\.([0-9]{3})\.([0-9]{3})$'},
+        #{ 'format': 'BM.aaaa.nnn.mmm/pp:ii-jj', 'regex': r'^(BM)\.([0-9]{4})\.([0-9]{3})\.([0-9]{3})/([0-9]{2})\:([0-9]{2})\-([0-9]{2})$'},
+        #{ 'format': 'BM.aaaa.nnn.mmm/ppp:ii-jj', 'regex': r'^(BM)\.([0-9]{4})\.([0-9]{3})\.([0-9]{3})/([0-9]{2})\:([0-9]{2})\-([0-9]{2})$'},
+        #{ 'format': 'BM.aaaa.nnn.mmm:ii-jj',    'regex': r'^(BM)\.([0-9]{4})\.([0-9]{3})\.([0-9]{3}):([0-9]{2})\-([0-9]{2})$'},
         ]
 
 ITEM_NEW_PATTERN = [
@@ -155,18 +156,22 @@ class CremXLS:
         self.sheet = self.book.sheet_by_index(0)
         self.original_refs = self.original_refs()
         self.new_refs = self.new_refs()
+        #print len(self.new_refs)
+        while True:
+            if len(self.original_refs) == 0 or len(self.new_refs) == 0:
+                break
+            else:
+                if not 'BM' in self.original_refs[0].encode('utf8') \
+                  and not 'CY' in self.original_refs[0].encode('utf8') \
+                  and not 'DI' in self.original_refs[0].encode('utf8') \
+                  and not 'FA' in self.original_refs[0].encode('utf8'):
+                    #print self.new_refs[0].encode('utf8')
+                    #print self.original_refs[0].encode('utf8')
+                    self.original_refs = self.original_refs[1:]
+                    self.new_refs = self.new_refs[1:]
+                else:
+                    break
 
-        print file
-        print len(self.new_refs)
-        while not check_name(ITEM_OLD_PATTERN, self.original_refs[0].encode('utf8')) \
-          and not check_name(ITEM_NEW_PATTERN, self.new_refs[0].encode('utf8')):
-
-            print self.new_refs[0].encode('utf8')
-            print self.original_refs[0].encode('utf8')
-            
-            self.original_refs = self.original_refs[1:]
-            self.new_refs = self.new_refs[1:]
-            
         self.size = max(len(self.new_refs), len(self.original_refs))
         
     def original_refs(self):
@@ -244,10 +249,12 @@ class CremCheck:
                 self.logger.write_error(collection.dir, 'PAS de fichier XLS dans le dossier collection -> SORTIE')
             elif len(xls_list) > 1:
                 self.logger.write_error(collection.dir, 'Plusieurs fichiers XLS dans le dossier collection -> SORTIE')
+                
             else:
                 xls = CremXLS(self.root_dir + os.sep + dir + os.sep + xls_list[0])
-                self.logger.write_info(collection.dir, 'Nombre de références du fichier XLS : ' + str(xls.size))
-
+                self.logger.write_info(collection.dir, 'XLS : ' + xls_list[0] + ' - Feuille : ' + xls.sheet.name.encode('utf8'))
+                self.logger.write_info(collection.dir, 'Nombre d\'items détectés : ' + str(xls.size))
+                
                 if len(wav_list) != xls.size:
                     self.logger.write_error(collection.dir, \
                     'Le nombre de références du fichier XLS (' + str(xls.size) + ') diffère du nombre de fichiers (' + str(len(wav_list)) + ')')
@@ -262,7 +269,7 @@ class CremCheck:
                         #self.logger.write_error(collection.dir, item_old)
                     except:
                         item_old = ''
-                        msg = 'Ligne ' + str(i) + ' : l\'ancienne référence d\'item est inexistante'
+                        msg = 'Ligne ' + str(i+xls.first_row+1) + ' : l\'ancienne référence d\'item est inexistante'
                         self.logger.write_error(collection.dir, msg)
                         continue
 
@@ -271,26 +278,26 @@ class CremCheck:
                         #self.logger.write_error(collection.dir, item)
                     except:
                         item = ''
-                        msg = 'Ligne ' + str(i) + ' : la nouvelle référence d\'item est inexistante'
+                        msg = 'Ligne ' + str(i+xls.first_row+1) + ' : la nouvelle référence d\'item est inexistante'
                         self.logger.write_error(collection.dir, msg)
                         continue
 
                     if not item in temp_list:
                         temp_list.append(item)
                     else:
-                        msg =  'Ligne ' + str(i) + ' : la référence d\'item ' + item.encode('utf8') + ' est multiple'
+                        msg =  'Ligne ' + str(i+xls.first_row+1) + ' : la référence d\'item ' + item.encode('utf8') + ' est multiple'
                         self.logger.write_error(collection.dir, msg)
 
                     if not check_name(ITEM_OLD_PATTERN, item_old):
-                        msg = 'Ligne ' + str(i) + ' : l\'ancienne référence d\'item ' + item_old.encode('utf8') + ' est mal formatée'
+                        msg = 'Ligne ' + str(i+xls.first_row+1) + ' : l\'ancienne référence d\'item ' + item_old.encode('utf8') + ' est mal formatée'
                         self.logger.write_error(collection.dir, msg)
                     
                     if not check_name(ITEM_NEW_PATTERN, item):
-                        msg = 'Ligne ' + str(i) + ' : la nouvelle référence d\'item ' + item.encode('utf8') + ' est mal formatée'
+                        msg = 'Ligne ' + str(i+xls.first_row+1) + ' : la nouvelle référence d\'item ' + item.encode('utf8') + ' est mal formatée'
                         self.logger.write_error(collection.dir, msg)
 
                     if item[0:17] != collection.dir_name :
-                        msg = 'Ligne ' + str(i) + ' : la référence d\'item ' + item.encode('utf8') + ' ne correspond pas à celle de la collection'
+                        msg = 'Ligne ' + str(i+xls.first_row+1) + ' : la référence d\'item ' + item.encode('utf8') + ' ne correspond pas à celle de la collection'
                         self.logger.write_error(collection.dir, msg)
 
                     name_wav = item.encode('utf8') + '.wav'