aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/db/mongo/migrations.py
diff options
context:
space:
mode:
authorChristopher Allan Webber <cwebber@dustycloud.org>2012-03-14 16:00:53 -0500
committerChristopher Allan Webber <cwebber@dustycloud.org>2012-03-14 16:00:53 -0500
commitd87ed21ac4304bb2bf2dc5d70c3fca99aeb1e089 (patch)
treeec0fec41d56b87eb75e914a3dede2bce68cb2ad1 /mediagoblin/db/mongo/migrations.py
parent0e93443f59f61522daeecc5b4f32b2fffc7cd474 (diff)
parent36ccc57bea30d1a437e673a01e8032a667040962 (diff)
downloadmediagoblin-d87ed21ac4304bb2bf2dc5d70c3fca99aeb1e089.tar.lz
mediagoblin-d87ed21ac4304bb2bf2dc5d70c3fca99aeb1e089.tar.xz
mediagoblin-d87ed21ac4304bb2bf2dc5d70c3fca99aeb1e089.zip
Merge branch 'master' of gitorious.org:mediagoblin/mediagoblin
Diffstat (limited to 'mediagoblin/db/mongo/migrations.py')
-rw-r--r--mediagoblin/db/mongo/migrations.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/mediagoblin/db/mongo/migrations.py b/mediagoblin/db/mongo/migrations.py
index c5766b0d..23cf5e45 100644
--- a/mediagoblin/db/mongo/migrations.py
+++ b/mediagoblin/db/mongo/migrations.py
@@ -153,3 +153,21 @@ def convert_video_media_data(database):
assert len(document['media_data']) == 1
document['media_data'] = document['media_data']['video']
collection.save(document)
+
+@RegisterMigration(11)
+def convert_gps_media_data(database):
+ """
+ Move media_data["gps"]["*"] to media_data["gps_*"].
+ In preparation for media_data.gps_*
+ """
+ collection = database['media_entries']
+ target = collection.find(
+ {'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)