diff --git a/entities.py b/entities.py index c12f85ec602f06d02b8870c81302c14192fc0eec_ZW50aXRpZXMucHk=..6102b385b8a3f21f56f13c09787b8f1e5c0fc9b4_ZW50aXRpZXMucHk= 100644 --- a/entities.py +++ b/entities.py @@ -100,11 +100,17 @@ # IPrevNext interface ##################################################### def next_entity(self): - rql = ('Any B ORDERBY B ASC LIMIT 1 ' - 'WHERE B is BlogEntry, B entry_of BL, BL eid %(blog)s, ' - 'B eid > %(eid)s') - rset = self.req.execute(rql, {'blog': self.entry_of[0].eid, 'eid': self.eid}) + if self.entry_of: + rql = ('Any B ORDERBY B ASC LIMIT 1 ' + 'WHERE B is BlogEntry, B entry_of BL, BL eid %(blog)s, ' + 'B eid > %(eid)s') + rset = self.req.execute(rql, {'blog': self.entry_of[0].eid, 'eid': self.eid}) + else: + rql = ('Any B ORDERBY B ASC LIMIT 1 ' + 'WHERE B is BlogEntry, B eid > %(eid)s') + rset = self.req.execute(rql, {'eid': self.eid}) + if rset: return rset.get_entity(0,0) def previous_entity(self): @@ -107,11 +113,16 @@ if rset: return rset.get_entity(0,0) def previous_entity(self): - rql = ('Any B ORDERBY B DESC LIMIT 1 ' - 'WHERE B is BlogEntry, B entry_of BL, BL eid %(blog)s, ' - 'B eid < %(eid)s') - rset = self.req.execute(rql, {'blog': self.entry_of[0].eid, 'eid': self.eid}) + if self.entry_of: + rql = ('Any B ORDERBY B DESC LIMIT 1 ' + 'WHERE B is BlogEntry, B entry_of BL, BL eid %(blog)s, ' + 'B eid < %(eid)s') + rset = self.req.execute(rql, {'blog': self.entry_of[0].eid, 'eid': self.eid}) + else: + rql = ('Any B ORDERBY B DESC LIMIT 1 ' + 'WHERE B is BlogEntry, B eid < %(eid)s') + rset = self.req.execute(rql, {'eid': self.eid}) if rset: return rset.get_entity(0,0)