Proper url_to_{prev,next} for SQL

Uses complete sqlalchemy syntax now.
This commit is contained in:
Elrond 2012-01-04 22:13:19 +01:00
parent 02ede85826
commit c47a03b909

View File

@ -23,6 +23,7 @@ from sqlalchemy import (
UniqueConstraint)
from sqlalchemy.orm import relationship
from sqlalchemy.orm.collections import attribute_mapped_collection
from sqlalchemy.sql.expression import desc
from sqlalchemy.ext.associationproxy import association_proxy
from mediagoblin.db.sql.extratypes import PathTupleWithSlashes
@ -116,6 +117,26 @@ class MediaEntry(Base, MediaEntryMixin):
return MediaComment.query.filter_by(
media_entry=self.id).order_by(order_col)
def url_to_prev(self, urlgen):
"""get the next 'newer' entry by this user"""
media = MediaEntry.query.filter(
(MediaEntry.uploader == self.uploader)
& (MediaEntry.state == 'processed')
& (MediaEntry.id > self.id)).order_by(MediaEntry.id).first()
if media is not None:
return media.url_for_self(urlgen)
def url_to_next(self, urlgen):
"""get the next 'older' entry by this user"""
media = MediaEntry.query.filter(
(MediaEntry.uploader == self.uploader)
& (MediaEntry.state == 'processed')
& (MediaEntry.id < self.id)).order_by(desc(MediaEntry.id)).first()
if media is not None:
return media.url_for_self(urlgen)
class MediaFile(Base):
__tablename__ = "mediafiles"