コード例 #1
0
def block(request, feed, item):    
    next = db.query(ContentItem).filter(ContentItem.type.in_(get_content_feeds()[feed]["types"]), ContentItem.permissions_for(request.user), ContentItem.created_at > item["created_at"]).order_by(ContentItem.created_at).first()
    prev = db.query(ContentItem).filter(ContentItem.type.in_(get_content_feeds()[feed]["types"]), ContentItem.permissions_for(request.user), ContentItem.created_at < item["created_at"]).order_by(ContentItem.created_at.desc()).first()
    if next or prev:
        return {
            "next"  : process_content_item(next) if next else None,
            "prev"  : process_content_item(prev) if prev else None,
        }
    else:
        return None
コード例 #2
0
ファイル: tagcloud.py プロジェクト: themylogin/thelogin.ru
def block(feed):
    if get_content_feeds()[feed]["url"] == "":
        feed_url = ""
    else:
        feed_url = "/" + get_content_feeds()[feed]["url"]

    tags = db.query(Tag, func.count(ContentItem)).join((ContentItem, Tag.content_items)).filter(ContentItem.type.in_(get_content_feeds()[feed]["types"])).group_by(Tag).order_by(Tag.title).all()
    if tags:
        return {
            "tags"          : tags,
            "biggest_tag"   : max(tags, key=operator.itemgetter(1))[1],
            "feed_url"      : feed_url,
        }
    return None
コード例 #3
0
ファイル: timeline.py プロジェクト: themylogin/thelogin.ru
def block(request, item=None):
    if request.user is None:
        return None

    if item is not None:
        start = item["created_at"]
    else:
        start = datetime.now()
    
    if db.query(func.count(ContentItem)).filter(ContentItem.type.in_(get_content_feeds()["timeline"]["types"]), ContentItem.created_at <= start).scalar() > 0:
        return {
            "start" : start,
        }

    return None