diff options
author | Brett Smith <brettcsmith@brettcsmith.org> | 2012-03-26 14:10:22 -0400 |
---|---|---|
committer | Brett Smith <brettcsmith@brettcsmith.org> | 2012-03-26 14:10:22 -0400 |
commit | c16b8196631e5b1c4cbe618a9af74f5455fe861c (patch) | |
tree | 5a94548275636849dd8c771de6b5fe854c0f2098 /mediagoblin/db/mongo/migrations.py | |
parent | 28f364bd6d488955952aebe86033e5ba148da2fb (diff) | |
parent | 7ccf41818581743c2e16935cd7308ad3d6694149 (diff) | |
download | mediagoblin-c16b8196631e5b1c4cbe618a9af74f5455fe861c.tar.lz mediagoblin-c16b8196631e5b1c4cbe618a9af74f5455fe861c.tar.xz mediagoblin-c16b8196631e5b1c4cbe618a9af74f5455fe861c.zip |
Merge remote branch 'origin/master' into bug261-resized-filenames
This merge involved moving the new FilenameBuilder class to
processing/__init__.py, and putting the comment deletion tests back into
test_submission.py using the refactored functions.
Diffstat (limited to 'mediagoblin/db/mongo/migrations.py')
-rw-r--r-- | mediagoblin/db/mongo/migrations.py | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/mediagoblin/db/mongo/migrations.py b/mediagoblin/db/mongo/migrations.py index 23cf5e45..732f5846 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): """ @@ -165,9 +168,33 @@ 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) + + +@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'] + + 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'] + collection.save(document) |