From 45a65492954d6bb26bf9e5ee19e0303b9c2af546 Mon Sep 17 00:00:00 2001 From: yomguy Date: Thu, 21 Jan 2010 16:07:41 +0000 Subject: [PATCH] fix column triming, check sheet name git-svn-id: http://svn.parisson.org/svn/crem@141 3bf09e05-f825-4182-b9bc-eedd7160adf0 --- trunk/import/audio_import/crem_checker.py | 53 +++++++++++++---------- 1 file changed, 30 insertions(+), 23 deletions(-) diff --git a/trunk/import/audio_import/crem_checker.py b/trunk/import/audio_import/crem_checker.py index f1f9f3f..c2714ee 100755 --- a/trunk/import/audio_import/crem_checker.py +++ b/trunk/import/audio_import/crem_checker.py @@ -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' -- 2.39.5