aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/db
diff options
context:
space:
mode:
authorElrond <elrond+mediagoblin.org@samba-tng.org>2012-03-01 21:59:26 +0100
committerElrond <elrond+mediagoblin.org@samba-tng.org>2012-03-01 22:25:41 +0100
commit5ff575827b5f53a6a5e8126cbcc5a66fde005786 (patch)
tree7a968da26d92b3f85abddfc008fa6d4a6d6105e5 /mediagoblin/db
parent94df840b3bf100a3fdd33e2fef2d4201d4a4ac45 (diff)
downloadmediagoblin-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')
-rw-r--r--mediagoblin/db/mongo/migrations.py14
-rw-r--r--mediagoblin/db/mongo/models.py3
2 files changed, 17 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)
diff --git a/mediagoblin/db/mongo/models.py b/mediagoblin/db/mongo/models.py
index 99c7905d..c86adbb6 100644
--- a/mediagoblin/db/mongo/models.py
+++ b/mediagoblin/db/mongo/models.py
@@ -220,6 +220,9 @@ class MediaEntry(Document, MediaEntryMixin):
id = MongoPK()
+ def media_data_init(self, **kwargs):
+ self.media_data.update(kwargs)
+
def get_comments(self, ascending=False):
if ascending:
order = ASCENDING