aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/db/mongo/util.py
diff options
context:
space:
mode:
authorElrond <elrond+mediagoblin.org@samba-tng.org>2012-01-29 20:56:51 +0100
committerElrond <elrond+mediagoblin.org@samba-tng.org>2012-03-04 20:58:19 +0100
commit82cd968347988f61ac52c2100d1dc47750decead (patch)
tree7466d3b3b7d9ebda568c3ad4eeb8ed92d4215efb /mediagoblin/db/mongo/util.py
parentb8e635b22f9647b173b9320ebb6539bdefe851d8 (diff)
downloadmediagoblin-82cd968347988f61ac52c2100d1dc47750decead.tar.lz
mediagoblin-82cd968347988f61ac52c2100d1dc47750decead.tar.xz
mediagoblin-82cd968347988f61ac52c2100d1dc47750decead.zip
Create atomic_update db utility function
In some cases (notably the mark_entry_failed function) it is useful to have atomic update functionality on the db. On mongo this requires special syntax. So created an atomic_update function for mongo and started to use it in mark_entry_failed.
Diffstat (limited to 'mediagoblin/db/mongo/util.py')
-rw-r--r--mediagoblin/db/mongo/util.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/mediagoblin/db/mongo/util.py b/mediagoblin/db/mongo/util.py
index 4daf616a..89348d98 100644
--- a/mediagoblin/db/mongo/util.py
+++ b/mediagoblin/db/mongo/util.py
@@ -290,3 +290,14 @@ class MigrationManager(object):
self.set_current_migration(migration_number)
if post_callback:
post_callback(migration_number, migration_func)
+
+
+##########################
+# Random utility functions
+##########################
+
+
+def atomic_update(table, query_dict, update_values):
+ table.collection.update(
+ query_dict,
+ {"$set": update_values})