aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mediagoblin/db/mixin.py3
-rw-r--r--mediagoblin/db/util.py9
-rw-r--r--mediagoblin/edit/views.py4
3 files changed, 7 insertions, 9 deletions
diff --git a/mediagoblin/db/mixin.py b/mediagoblin/db/mixin.py
index 9829bb6e..001b7826 100644
--- a/mediagoblin/db/mixin.py
+++ b/mediagoblin/db/mixin.py
@@ -58,8 +58,7 @@ class MediaEntryMixin(object):
self.slug = slugify(self.title)
- duplicate = check_media_slug_used(mg_globals.database,
- self.uploader, self.slug, self.id)
+ duplicate = check_media_slug_used(self.uploader, self.slug, self.id)
if duplicate:
if self.id is not None:
diff --git a/mediagoblin/db/util.py b/mediagoblin/db/util.py
index 90383f81..529ef8b9 100644
--- a/mediagoblin/db/util.py
+++ b/mediagoblin/db/util.py
@@ -29,12 +29,11 @@ def atomic_update(table, query_dict, update_values):
Session.commit()
-def check_media_slug_used(dummy_db, uploader_id, slug, ignore_m_id):
- filt = (MediaEntry.uploader == uploader_id) \
- & (MediaEntry.slug == slug)
+def check_media_slug_used(uploader_id, slug, ignore_m_id):
+ query = MediaEntry.query.filter_by(uploader=uploader_id, slug=slug)
if ignore_m_id is not None:
- filt = filt & (MediaEntry.id != ignore_m_id)
- does_exist = Session.query(MediaEntry.id).filter(filt).first() is not None
+ query = query.filter(MediaEntry.id != ignore_m_id)
+ does_exist = query.first() is not None
return does_exist
diff --git a/mediagoblin/edit/views.py b/mediagoblin/edit/views.py
index 2f669c66..ece11df5 100644
--- a/mediagoblin/edit/views.py
+++ b/mediagoblin/edit/views.py
@@ -57,8 +57,8 @@ def edit_media(request, media):
if request.method == 'POST' and form.validate():
# Make sure there isn't already a MediaEntry with such a slug
# and userid.
- slug_used = check_media_slug_used(request.db, media.uploader,
- request.form['slug'], media.id)
+ slug_used = check_media_slug_used(media.uploader, request.form['slug'],
+ media.id)
if slug_used:
form.slug.errors.append(