diff options
-rw-r--r-- | mediagoblin/db/mixin.py | 3 | ||||
-rw-r--r-- | mediagoblin/db/util.py | 9 | ||||
-rw-r--r-- | mediagoblin/edit/views.py | 4 |
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( |