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'
Exemple #5
0
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()
Exemple #6
0
async def new_post():
    form = await Post.form()
    if form.accepted:
        redirect(url('one', form.params.id))
    return dict(form=form)
Exemple #7
0
    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__)