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)
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)
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)
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', ''))
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
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
def bootstrap(settings): engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) Base.metadata.bind = engine