From 54477b4d76ca983e2e884fea9c0975c7e63fdc1d Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Sun, 18 Mar 2012 12:07:13 -0500 Subject: Removing print statements from convert_gps_media_data migration Kind of useful to see but... I don't think they're needed, and I'm not super comfortable with print statements being in migrations. Seems semi bloated! --- mediagoblin/db/mongo/migrations.py | 2 -- 1 file changed, 2 deletions(-) (limited to 'mediagoblin/db/mongo/migrations.py') diff --git a/mediagoblin/db/mongo/migrations.py b/mediagoblin/db/mongo/migrations.py index 23cf5e45..1d33460e 100644 --- a/mediagoblin/db/mongo/migrations.py +++ b/mediagoblin/db/mongo/migrations.py @@ -165,9 +165,7 @@ def convert_gps_media_data(database): {'media_data.gps': {'$exists': True}}) for document in target: - print document['_id'], "old:", document['media_data'] for key, value in document['media_data']['gps'].iteritems(): document['media_data']['gps_' + key] = value del document['media_data']['gps'] - print document['_id'], "new:", document['media_data'] collection.save(document) -- cgit v1.2.3 From c8c75ad04475c2ced5b70dac51a6bcd33c8a0465 Mon Sep 17 00:00:00 2001 From: Elrond Date: Thu, 22 Mar 2012 20:59:28 +0100 Subject: Create migration to move exif data around in media_data. Move media_data['exif']['clean'] to media_data['exif_all'] drop media_data['exif']['useful'] drop media_data['exif'] --- mediagoblin/db/mongo/migrations.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'mediagoblin/db/mongo/migrations.py') diff --git a/mediagoblin/db/mongo/migrations.py b/mediagoblin/db/mongo/migrations.py index 1d33460e..2685078f 100644 --- a/mediagoblin/db/mongo/migrations.py +++ b/mediagoblin/db/mongo/migrations.py @@ -119,6 +119,7 @@ def media_type_image_to_multimedia_type_image(database): {'$set': {'media_type': 'mediagoblin.media_types.image'}}, multi=True) + @RegisterMigration(8) def mediaentry_add_license(database): """ @@ -140,6 +141,7 @@ def remove_calculated_html(database): drop_table_field(database, 'media_entries', 'description_html') drop_table_field(database, 'media_comments', 'content_html') + @RegisterMigration(10) def convert_video_media_data(database): """ @@ -154,6 +156,7 @@ def convert_video_media_data(database): document['media_data'] = document['media_data']['video'] collection.save(document) + @RegisterMigration(11) def convert_gps_media_data(database): """ @@ -169,3 +172,25 @@ def convert_gps_media_data(database): document['media_data']['gps_' + key] = value del document['media_data']['gps'] collection.save(document) + + +@RegisterMigration(12) +def convert_exif_media_data(database): + """ + Move media_data["exif"]["clean"] to media_data["exif_all"]. + Drop media_data["exif"]["useful"] + In preparation for media_data.exif_all + """ + collection = database['media_entries'] + target = collection.find( + {'media_data.exif.clean': {'$exists': True}}) + + for document in target: + media_data = document['media_data'] + print "old:", document['_id'], media_data + media_data['exif_all'] = media_data['exif'].pop('clean') + del media_data['exif']['useful'] + assert len(media_data['exif']) == 0 + del media_data['exif'] + print "new:", document['_id'], media_data + collection.save(document) -- cgit v1.2.3 From 11d36843b0254639e4417814b21eda32668939ea Mon Sep 17 00:00:00 2001 From: Elrond Date: Sat, 24 Mar 2012 11:43:12 +0100 Subject: Migration fixup: Drop empty exif_all. If the exif info is totally empty, do not add it at all to the media_data dict in mongo. --- mediagoblin/db/mongo/migrations.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'mediagoblin/db/mongo/migrations.py') diff --git a/mediagoblin/db/mongo/migrations.py b/mediagoblin/db/mongo/migrations.py index 2685078f..08aeed1e 100644 --- a/mediagoblin/db/mongo/migrations.py +++ b/mediagoblin/db/mongo/migrations.py @@ -188,9 +188,15 @@ def convert_exif_media_data(database): for document in target: media_data = document['media_data'] print "old:", document['_id'], media_data - media_data['exif_all'] = media_data['exif'].pop('clean') + + exif_all = media_data['exif'].pop('clean') + if len(exif_all): + media_data['exif_all'] = exif_all + del media_data['exif']['useful'] + assert len(media_data['exif']) == 0 del media_data['exif'] + print "new:", document['_id'], media_data collection.save(document) -- cgit v1.2.3 From 5101f84404e5b00af5a202d08eae33b152c81853 Mon Sep 17 00:00:00 2001 From: Elrond Date: Sun, 25 Mar 2012 14:56:24 +0200 Subject: Drop debug from migration. --- mediagoblin/db/mongo/migrations.py | 2 -- 1 file changed, 2 deletions(-) (limited to 'mediagoblin/db/mongo/migrations.py') diff --git a/mediagoblin/db/mongo/migrations.py b/mediagoblin/db/mongo/migrations.py index 08aeed1e..732f5846 100644 --- a/mediagoblin/db/mongo/migrations.py +++ b/mediagoblin/db/mongo/migrations.py @@ -187,7 +187,6 @@ def convert_exif_media_data(database): for document in target: media_data = document['media_data'] - print "old:", document['_id'], media_data exif_all = media_data['exif'].pop('clean') if len(exif_all): @@ -198,5 +197,4 @@ def convert_exif_media_data(database): assert len(media_data['exif']) == 0 del media_data['exif'] - print "new:", document['_id'], media_data collection.save(document) -- cgit v1.2.3