From 5ff575827b5f53a6a5e8126cbcc5a66fde005786 Mon Sep 17 00:00:00 2001 From: Elrond Date: Thu, 1 Mar 2012 21:59:26 +0100 Subject: 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. --- mediagoblin/db/mongo/migrations.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'mediagoblin/db/mongo/migrations.py') 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) -- cgit v1.2.3