diff options
author | Elrond <elrond+mediagoblin.org@samba-tng.org> | 2012-03-01 21:59:26 +0100 |
---|---|---|
committer | Elrond <elrond+mediagoblin.org@samba-tng.org> | 2012-03-01 22:25:41 +0100 |
commit | 5ff575827b5f53a6a5e8126cbcc5a66fde005786 (patch) | |
tree | 7a968da26d92b3f85abddfc008fa6d4a6d6105e5 /mediagoblin/db/mongo/migrations.py | |
parent | 94df840b3bf100a3fdd33e2fef2d4201d4a4ac45 (diff) | |
download | mediagoblin-5ff575827b5f53a6a5e8126cbcc5a66fde005786.tar.lz mediagoblin-5ff575827b5f53a6a5e8126cbcc5a66fde005786.tar.xz mediagoblin-5ff575827b5f53a6a5e8126cbcc5a66fde005786.zip |
Video media_data: Change layout in the mongo world
Change the media_data for video from
entry.media_data["video"] to use entry.media_data directly.
Also start a bare MediaEntry.media_data_init(**kwargs)
method for setting up the media_data and possibly
initialising it with kwargs.
Diffstat (limited to 'mediagoblin/db/mongo/migrations.py')
-rw-r--r-- | mediagoblin/db/mongo/migrations.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/mediagoblin/db/mongo/migrations.py b/mediagoblin/db/mongo/migrations.py index 59035f3b..c5766b0d 100644 --- a/mediagoblin/db/mongo/migrations.py +++ b/mediagoblin/db/mongo/migrations.py @@ -139,3 +139,17 @@ def remove_calculated_html(database): drop_table_field(database, 'users', 'bio_html') drop_table_field(database, 'media_entries', 'description_html') drop_table_field(database, 'media_comments', 'content_html') + +@RegisterMigration(10) +def convert_video_media_data(database): + """ + Move media_data["video"] directly into media_data + """ + collection = database['media_entries'] + target = collection.find( + {'media_data.video': {'$exists': True}}) + + for document in target: + assert len(document['media_data']) == 1 + document['media_data'] = document['media_data']['video'] + collection.save(document) |