From 836e37709f096dafe23a062cfb8bce5a79218aac Mon Sep 17 00:00:00 2001 From: olivier Date: Mon, 6 Jul 2009 22:45:13 +0000 Subject: [PATCH] migration: direct mysql warnings to logfile git-svn-id: http://svn.parisson.org/svn/crem@115 3bf09e05-f825-4182-b9bc-eedd7160adf0 --- trunk/import/migration/tasks/core.py | 17 ++++++++++++++--- trunk/import/migration/tasks/items.py | 4 +--- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/trunk/import/migration/tasks/core.py b/trunk/import/migration/tasks/core.py index c7584b0..dd3dbdc 100644 --- a/trunk/import/migration/tasks/core.py +++ b/trunk/import/migration/tasks/core.py @@ -36,7 +36,8 @@ from telemeta.core import * from datetime import date from sys import stdout import time - +import warnings +import _mysql_exceptions class DataMigrationTask(Component): def setup(self, cfg, src_db, target_db, logger): @@ -50,10 +51,20 @@ class DataMigrationTask(Component): self.logger = logger; def src(self, query, args = None): - self.src_cursor.execute(query, args) + warnings.simplefilter("error") + try: + self.src_cursor.execute(query, args) + except _mysql_exceptions.Warning, e: + self.warn("MySQL warning: " + str(e)) + warnings.resetwarnings() def target(self, query, args = None): - self.target_cursor.execute(query, args) + warnings.simplefilter("error") + try: + self.target_cursor.execute(query, args) + except _mysql_exceptions.Warning, e: + self.warn("MySQL warning: " + str(e)) + warnings.resetwarnings() def step(self, position = -1): self.logger.progress(position) diff --git a/trunk/import/migration/tasks/items.py b/trunk/import/migration/tasks/items.py index 9eecbf6..95e9d44 100644 --- a/trunk/import/migration/tasks/items.py +++ b/trunk/import/migration/tasks/items.py @@ -34,8 +34,6 @@ from telemeta.core import * from api import IDataMigrator from core import DataMigrator, EnumMapper -from _mysql_exceptions import IntegrityError -from MySQLdb.constants.ER import DUP_ENTRY class ItemsCopyMigrator(DataMigrator): """Perform a preliminary raw copy of the item table""" @@ -80,7 +78,7 @@ class ItemsCopyMigrator(DataMigrator): ",\n ".join(src_fields), self.src_db_name) - self.target_cursor.execute(query) + self.target(query) self.target_cursor.execute("SELECT COUNT(*) FROM media_items") self.stats['imported'] = self.target_cursor.fetchone()[0] -- 2.39.5