From: yomguy Date: Thu, 17 Nov 2011 12:37:48 +0000 (+0100) Subject: import: bugfix X-Git-Tag: 1.2.1~10 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=1c18ff6c4cb4be0d6c5ff78fa039e0afe4e6d231;p=telemeta.git import: bugfix --- diff --git a/tools/scripts/telemeta-crem-import.py b/tools/scripts/telemeta-crem-import.py index 228e0918..39029d09 100755 --- a/tools/scripts/telemeta-crem-import.py +++ b/tools/scripts/telemeta-crem-import.py @@ -40,21 +40,21 @@ class Logger: class TelemetaWavImport: def __init__(self, source_dir, log_file, pattern): + from django.contrib.auth.models import User self.logger = Logger(log_file) self.source_dir = source_dir self.collections = os.listdir(self.source_dir) self.pattern = pattern - self.user = User.objects.filter(username='admin') + self.user = User.objects.filter(username='admin')[0] def write_file(self, item, wav_file, overwrite=False): if os.path.exists(wav_file): if not item.file or overwrite: + filename = wav_file.split(os.sep)[-1] f = open(wav_file, 'r') file_content = ContentFile(f.read()) item.file.save(filename, file_content) f.close() - item.code = new_ref - item.save() item.set_revision(self.user) else: msg = code + ' : fichier ' + wav_file + ' déjà existant ! PASS' @@ -85,7 +85,7 @@ class TelemetaWavImport: c.save() c.set_revision(self.user) else: - msg = 'collection présente dans la base de données, PASS ' + msg = 'collection présente dans la base de données' self.logger.info(collection, msg) for collection in self.collections: @@ -104,13 +104,13 @@ class TelemetaWavImport: if not c: msg = collection + ' collection NON présente dans la BDD, CREATION ' - self.logger.info(collection, msg) + self.logger.info('collection', msg) c = MediaCollection(code=collection_name) c.save() else: - msg = ' : id = '+str(c.id)+" : title = "+c.title+' SELECTION' - self.logger.info(collection, msg) c = c[0] + msg = ' : id = '+str(c.id)+" : title = "+c.title+' SELECTION' + self.logger.info('collection', msg) for filename in collection_files: wav_file = self.source_dir + os.sep + collection + os.sep + filename @@ -118,13 +118,13 @@ class TelemetaWavImport: items = MediaItem.objects.filter(code=code) if len(items) != 0: - msg = ' : id = '+str(item.id)+" : title = "+item.title+' SELECTION' - self.logger.info(item, msg) item = items[0] + msg = item.code + ' : id = '+str(item.id)+" : title = "+item.title+' SELECTION' + self.logger.info('item', msg) else: - msg = item.code + ' : item NON présent dans la base de données, CREATION' - self.logger.info(item, msg) item = MediaItem(code=code, collection=c) + msg = item.code + ' : item NON présent dans la base de données, CREATION' + self.logger.info('item', msg) self.write_file(item, wav_file, True) @@ -142,11 +142,13 @@ class TelemetaWavImport: if items: item = items[0] msg = item.old_code + ' : id = ' + str(item.id) + " : title = " + item.title - self.logger.info(item, msg) + self.logger.info('item', msg) self.write_file(item, wav_file, True) + item.code = new_ref + item.save() else: msg = old_ref + ' : item inexistant dans la base de données ! PASS' - self.logger.error(item, msg) + self.logger.error('item', msg) def print_usage(tool_name): @@ -168,7 +170,6 @@ def run(): sys.path.append(project_dir) import settings setup_environ(settings) - from django.contrib.auth.models import User t = TelemetaWavImport(source_dir, log_file, pattern) t.wav_import()