def query_by_album_id(album_id, from_id=None, limit=config.paged, desc=True): q = orm.select(rv for rv in Image if rv.album_id == album_id) if desc: q = q.order_by(lambda: orm.desc(rv.created_at)) else: q = q.order_by(lambda: rv.created_at) if from_id: return helpers.collect_items_from_query(q, from_id, limit, "id") if limit: return q[:limit] return q[:]
def query_by_album_id(album_id, from_id=None, limit=config.paged, desc=True): q = orm.select(rv for rv in Image if rv.album_id == album_id) if desc: q = q.order_by(lambda: orm.desc(rv.created_at)) else: q = q.order_by(lambda: rv.created_at) if from_id: return helpers.collect_items_from_query(q, from_id, limit, 'id') if limit: return q[:limit] return q[:]
def get_timeline(self, page=1, from_id=None, count=config.paged): user_ids = self.followed_user_ids[:] or [0] user_ids.append(self.id) if not from_id: tweets = (orm.select(rv for rv in collipa.models.Tweet if rv.user_id in user_ids) .order_by(lambda: orm.desc(rv.created_at)) [(page - 1) * config.paged: page * config.paged]) return tweets all_ids_q = orm.select(rv.id for rv in collipa.models.Tweet if rv.user_id in user_ids).order_by(lambda: orm.desc(rv.created_at)) tweet_ids = collect_items_from_query(all_ids_q, from_id, count) return orm.select(rv for rv in collipa.models.Tweet if rv.id in tweet_ids)[:][::-1]