Пример #1
0
def photo_list(request):
    page_str = request.GET.get('page', '')
    page = page_str.isdigit() and int(page_str) or 1

    num_photos = DBSession.query(
        func.count(Photo.id)
    ).filter(
        Photo.published == True  # noqa
    ).first()[0]
    last_page = (num_photos + 8) // 9
    if page > last_page:
        raise HTTPNotFound()

    photos = DBSession.query(
        Photo
    ).filter(
        Photo.published == True  # noqa
    ).order_by(
        Photo.created_at.desc()
    ).limit(
        9
    ).offset(
        (page - 1) * 9
    ).all()
    return dict(photos=photos,
                current_page=page,
                last_page=last_page)
Пример #2
0
def main(argv=sys.argv):
    if len(argv) < 2:
        usage(argv)
    config_uri = argv[1]
    options = parse_vars(argv[2:])
    setup_logging(config_uri)
    settings = get_appsettings(config_uri, options=options)

    engine = engine_from_config(settings, 'sqlalchemy.')
    DBSession.configure(bind=engine)
    Base.metadata.create_all(engine)
Пример #3
0
def photo_list(request):
    page_str = request.GET.get('page', '')
    page = page_str.isdigit() and int(page_str) or 1

    num_photos = DBSession.query(func.count(
        Photo.id)).filter(Photo.published == True  # noqa
                          ).first()[0]
    last_page = (num_photos + 8) // 9
    if page > last_page:
        raise HTTPNotFound()

    photos = DBSession.query(Photo).filter(
        Photo.published == True  # noqa
    ).order_by(Photo.created_at.desc()).limit(9).offset((page - 1) * 9).all()
    return dict(photos=photos, current_page=page, last_page=last_page)
Пример #4
0
def upload(request):
    user = request.twitter_user
    if user is None:
        raise HTTPUnauthorized()
    if user.get('id') != request.registry.uploader_twitter_id:
        raise HTTPForbidden()

    media = request.POST.get('media')
    photo = Photo(media.type, request.POST.get('message', ''))
    photo.set_content(request.registry.photo_storage, media.file.read())
    DBSession.add(photo)

    return dict(photo=photo,
                user_id=user['id'],
                user_screen_name=user.get('screen_name', ''))
Пример #5
0
def upload(request):
    user = request.twitter_user
    if user is None:
        raise HTTPUnauthorized()
    if user.get('id') != request.registry.uploader_twitter_id:
        raise HTTPForbidden()

    media = request.POST.get('media')
    photo = Photo(media.type, request.POST.get('message', ''))
    photo.set_content(request.registry.photo_storage, media.file.read())
    DBSession.add(photo)

    return dict(photo=photo,
                user_id=user['id'],
                user_screen_name=user.get('screen_name', ''))
Пример #6
0
def photo_factory(request):
    photo_id = request.matchdict['id']
    photo = DBSession.query(Photo).filter(Photo.id == photo_id).first()
    if photo is None:
        raise HTTPNotFound()

    return photo
Пример #7
0
def photo_factory(request):
    photo_id = request.matchdict['id']
    photo = DBSession.query(
        Photo
    ).filter(
        Photo.id == photo_id
    ).first()
    if photo is None:
        raise HTTPNotFound()

    return photo
Пример #8
0
def bootstrap(settings):
    engine = engine_from_config(settings, 'sqlalchemy.')
    DBSession.configure(bind=engine)
    Base.metadata.bind = engine
Пример #9
0
def bootstrap(settings):
    engine = engine_from_config(settings, 'sqlalchemy.')
    DBSession.configure(bind=engine)
    Base.metadata.bind = engine