From: yomguy Date: Thu, 7 Jan 2010 12:46:18 +0000 (+0000) Subject: check wav file, cleanup X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=9a00b9f9aa3d314958804cb941be333bb4205d13;p=telemeta-data.git check wav file, cleanup git-svn-id: http://svn.parisson.org/svn/crem@132 3bf09e05-f825-4182-b9bc-eedd7160adf0 --- diff --git a/trunk/import/audio_import/crem_checker.py b/trunk/import/audio_import/crem_checker.py index 2d8eda2..d36e109 100755 --- a/trunk/import/audio_import/crem_checker.py +++ b/trunk/import/audio_import/crem_checker.py @@ -62,7 +62,6 @@ def check_name(patterns, name): class Logger: - """A logging object""" def __init__(self, file): self.logger = logging.getLogger('myapp') @@ -117,8 +116,8 @@ class CremXLS: def __init__(self, file): self.first_row = 7 - self.original_col = 0 - self.new_col = 3 + self.original_col = 1 + self.new_col = 2 self.book = xlrd.open_workbook(file) self.sheet = self.book.sheet_by_index(0) self.original_refs = self.original_refs() @@ -143,13 +142,16 @@ class CremXLS: class CremItemFile: - def __init__(self, media): + def __init__(self): + self.media = '' + + def set_media(self, media): self.media = media def is_wav(self): try: - self.audio_file = audiolab.sndfile(self.media, 'read') - if self.audio_file.get_nframes() and self.audio_file.get_nframes() != 0: + audio_file = audiolab.Sndfile(self.media, 'r') + if audio_file.get_nframes() and audio_file.get_nframes() != 0: return True except IOError: return False @@ -162,7 +164,6 @@ class CremItemFile: self.encoding = self.audio_file.get_encoding() - class CremCheck: def __init__(self, root_dir, log_file): @@ -180,54 +181,51 @@ 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(collection.dir, '***** VERIFICATION *****') xls_list = collection.xls_list() wav_list = collection.wav_list() - # check collection dir name if not check_name(COLLECTION_PATTERN, dir): self.logger.write_error(collection.dir, 'Dossier mal nommé') - break - - # check if XLS file exists if len(xls_list) == 0: self.logger.write_error(collection.dir, 'PAS de fichier XLS dans le dossier collection') - break elif len(xls_list) > 1: self.logger.write_error(collection.dir, 'Plusieurs fichiers XLS dans le dossier collection') - break else: xls = CremXLS(self.root_dir + os.sep + dir + os.sep + xls_list[0]) - # check if number of refs equals the number of WAV files 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') temp_list = [] + item_file = CremItemFile() for item in xls.new_refs: - # check new items refs if not check_name(ITEM_PATTERN, item): self.logger.write_error(collection.dir, 'La référence ' + str(item) + ' est mal formattée') if item[0:17] != collection.dir_name : self.logger.write_error(collection.dir, 'La référence ' + str(item) + ' ne correspond pas à la collection') - # check if WAV files exist name_wav = item + '.wav' - name_WAV = item + '.WAV' - if not name_wav in wav_list or name_WAV in wav_list: + 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) + 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') - # check unicity 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(collection.dir, '***** FIN *****') def main():