def test_static_url(app): link = url('static', 'file') assert link == '/static/file' app.config.static_version_urls = True app.config.static_version = '1.0.0' link = url('static', 'js/foo.js', language='it') assert link == '/it/static/_1.0.0/js/foo.js'
def test_module_url(app): with current_ctx(app, '/') as ctx: ctx.request.language = 'it' link = url('test_route') assert link == '/it/test_route' link = url('test_route2') assert link == '/it/test2' link = url('test_route2', [2]) assert link == '/it/test2/2' link = url('test_route2', [2, 'foo']) assert link == '/it/test2/2/foo' link = url('test_route3') assert link == '/it/test3' link = url('test_route3', [2]) assert link == '/it/test3/2/foo' link = url('test_route3', [2, 'bar']) assert link == '/it/test3/2/foo/bar' link = url('test_route3', [2, 'bar', 'json']) assert link == '/it/test3/2/foo/bar.json' link = url('test_route3', [2, 'bar', 'json'], { 'foo': 'bar', 'bar': 'foo' }) lsplit = link.split('?') assert lsplit[0] == '/it/test3/2/foo/bar.json' assert lsplit[1] in ['foo=bar&bar=foo', 'bar=foo&foo=bar']
def _url_photo(photo): host = request.host scheme = 'https' if '127.0.0.1' in host or 'localhost' in host: scheme = request.scheme return url('main.download', args=[photo], scheme=scheme, host=host)
def test_global_url_prefix(app): app._router_http._prefix_main = '/foo' app._router_http._prefix_main_len = 3 with current_ctx(app, '/') as ctx: app.config.static_version_urls = False ctx.request.language = 'en' link = url('test_route') assert link == '/foo/test_route' link = url('static', 'js/foo.js') assert link == '/foo/static/js/foo.js' app.config.static_version_urls = True app.config.static_version = '1.0.0' link = url('static', 'js/foo.js') assert link == '/foo/static/_1.0.0/js/foo.js' app.config.static_version_urls = False ctx.request.language = 'it' link = url('test_route') assert link == '/foo/it/test_route' link = url('static', 'js/foo.js') assert link == '/foo/it/static/js/foo.js' app.config.static_version_urls = True app.config.static_version = '1.0.0' link = url('static', 'js/foo.js') assert link == '/foo/it/static/_1.0.0/js/foo.js'
async def one(pid): def _validate_comment(form): # manually set post id in comment form form.params.post = pid # get post and return 404 if doesn't exist post = Post.get(pid) if not post: abort(404) # get comments and create a form for commenting comments = post.comments(orderby=~Comment.date) form = await Comment.form(onvalidation=_validate_comment) if form.accepted: redirect(url('one', pid)) return locals()
async def new_post(): form = await Post.form() if form.accepted: redirect(url('one', form.params.id)) return dict(form=form)
return dict(posts=posts) @app.route("/post/<int:pid>") async def one(pid): def _validate_comment(form): # manually set post id in comment form form.params.post = pid # get post and return 404 if doesn't exist post = Post.get(pid) if not post: abort(404) # get comments and create a form for commenting comments = post.comments(orderby=~Comment.date) form = await Comment.form(onvalidation=_validate_comment) if form.accepted: redirect(url('one', pid)) return locals() @app.route("/new") @requires(lambda: auth.has_membership('admin'), url('index')) async def new_post(): form = await Post.form() if form.accepted: redirect(url('one', form.params.id)) return dict(form=form) auth_routes = auth.module(__name__)