From 712eeb21001f65492402465851433b052416026f Mon Sep 17 00:00:00 2001 From: olivier Date: Tue, 9 Feb 2010 18:20:44 +0000 Subject: [PATCH] fix items and collections collector/creator normalization git-svn-id: http://svn.parisson.org/svn/crem@148 3bf09e05-f825-4182-b9bc-eedd7160adf0 --- trunk/import/migration/tasks/collections.py | 15 +++++++++++---- trunk/import/migration/tasks/items.py | 18 ++++++++++++++++++ 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/trunk/import/migration/tasks/collections.py b/trunk/import/migration/tasks/collections.py index fccfbca..c847464 100644 --- a/trunk/import/migration/tasks/collections.py +++ b/trunk/import/migration/tasks/collections.py @@ -338,7 +338,7 @@ class CollectionsPublishersMapper(DataMigrator): self.end() class CollectionsCollectorNormalizer(DataMigrator): - """Migrate collector_is_creator flag""" + """Migrate collector_is_creator flag and empty unsignificant creator/collector""" implements(IDataMigrator) @@ -346,10 +346,17 @@ class CollectionsCollectorNormalizer(DataMigrator): return "collections:collector" def process(self): - self.start() - self.target_cursor.execute("UPDATE media_collections SET collector_is_creator = 0") - self.target_cursor.execute("UPDATE media_collections SET collector_is_creator = (collector IN ('=', '=+N', 'ID' 'ID.' 'IDE.' 'IDEM'))") + self.start(3) + self.target_cursor.execute("UPDATE media_collections SET collector_is_creator = 1, collector = '' " + "WHERE collector IN ('=', '=+N', 'ID', 'ID.', 'IDE.', 'IDEM') ") self.stats['flagged'] = self.target_cursor.rowcount + self.step(1) + self.target_cursor.execute("UPDATE media_collections SET collector = '' WHERE collector IN ('N', 'ND', '?', '+')") + self.stats['emptied_collector'] = self.stats['flagged'] + self.target_cursor.rowcount + self.step(2) + self.target_cursor.execute("UPDATE media_collections SET creator = '' WHERE creator IN ('N', ' N', '?', ' ')") + self.stats['emptied_creator'] = self.target_cursor.rowcount + self.step(3) self.end() class CollectionsPublishedStateMigrator(DataMigrator): diff --git a/trunk/import/migration/tasks/items.py b/trunk/import/migration/tasks/items.py index 86199fc..89961d2 100644 --- a/trunk/import/migration/tasks/items.py +++ b/trunk/import/migration/tasks/items.py @@ -311,6 +311,24 @@ class ItemsLocationsMapper(DataMigrator): self.target("SET foreign_key_checks = 1") self.end() +class ItemsCollectorNormalizer(DataMigrator): + """Migrate collector_from_collection flag and empty unsignificant collector""" + + implements(IDataMigrator) + + def get_name(self): + return "items:collector" + + def process(self): + self.start(2) + self.target_cursor.execute("UPDATE media_items SET collector_from_collection = 1, collector = '' " + "WHERE collector = '=' ") + self.stats['flagged'] = self.target_cursor.rowcount + self.step(1) + self.target_cursor.execute("UPDATE media_items SET collector = '' WHERE collector IN ('*', '-', '-1', 'N', 'ND')") + self.stats['emptied_collector'] = self.stats['flagged'] + self.target_cursor.rowcount + self.step(2) + self.end() -- 2.39.5