Proper url_to_{prev,next} for SQL
Uses complete sqlalchemy syntax now.
This commit is contained in:
parent
02ede85826
commit
c47a03b909
@ -23,6 +23,7 @@ from sqlalchemy import (
|
|||||||
UniqueConstraint)
|
UniqueConstraint)
|
||||||
from sqlalchemy.orm import relationship
|
from sqlalchemy.orm import relationship
|
||||||
from sqlalchemy.orm.collections import attribute_mapped_collection
|
from sqlalchemy.orm.collections import attribute_mapped_collection
|
||||||
|
from sqlalchemy.sql.expression import desc
|
||||||
from sqlalchemy.ext.associationproxy import association_proxy
|
from sqlalchemy.ext.associationproxy import association_proxy
|
||||||
|
|
||||||
from mediagoblin.db.sql.extratypes import PathTupleWithSlashes
|
from mediagoblin.db.sql.extratypes import PathTupleWithSlashes
|
||||||
@ -116,6 +117,26 @@ class MediaEntry(Base, MediaEntryMixin):
|
|||||||
return MediaComment.query.filter_by(
|
return MediaComment.query.filter_by(
|
||||||
media_entry=self.id).order_by(order_col)
|
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):
|
class MediaFile(Base):
|
||||||
__tablename__ = "mediafiles"
|
__tablename__ = "mediafiles"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user