diff options
Diffstat (limited to 'mediagoblin/db/mongo')
-rw-r--r-- | mediagoblin/db/mongo/migrations.py | 16 | ||||
-rw-r--r-- | mediagoblin/db/mongo/util.py | 6 |
2 files changed, 22 insertions, 0 deletions
diff --git a/mediagoblin/db/mongo/migrations.py b/mediagoblin/db/mongo/migrations.py index 3de3694e..1984ecc4 100644 --- a/mediagoblin/db/mongo/migrations.py +++ b/mediagoblin/db/mongo/migrations.py @@ -155,6 +155,22 @@ def convert_video_media_data(database): 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: + for key, value in document['media_data']['gps'].iteritems(): + document['media_data']['gps_' + key] = value + del document['media_data']['gps'] + collection.save(document) + +@RegisterMigration(12) def user_add_wants_comment_notification(database): """ Add wants_comment_notification to user model diff --git a/mediagoblin/db/mongo/util.py b/mediagoblin/db/mongo/util.py index 2d47f648..f61ae6be 100644 --- a/mediagoblin/db/mongo/util.py +++ b/mediagoblin/db/mongo/util.py @@ -310,3 +310,9 @@ def check_media_slug_used(db, uploader_id, slug, ignore_m_id): existing_user_slug_entries = db.MediaEntry.find( query_dict).count() return existing_user_slug_entries + + +def media_entries_for_tag_slug(db, tag_slug): + return db.MediaEntry.find( + {u'state': u'processed', + u'tags.slug': tag_slug}) |