예제 #1
0
파일: url.py 프로젝트: reedobrien/tattoo
def route_url(route_name, request, *elements, **kw):
    """
    This is culted from repoze.bfg.url. I just didn't want the path segments (shorturl) percent encoded.
    Read the docstring in repoze.bfg.url for details.
    """
    try:
        reg = request.registry
    except AttributeError:
        reg = get_current_registry()  # b/c
    mapper = reg.getUtility(IRoutesMapper)

    anchor = ""
    qs = ""

    if "_query" in kw:
        qs = "?" + urlencode(kw.pop("_query"), doseq=True)

    if "_anchor" in kw:
        anchor = kw.pop("_anchor")
        if isinstance(anchor, unicode):
            anchor = anchor.encode("utf-8")
        anchor = "#" + anchor

    path = mapper.generate(route_name, kw)  # raises KeyError if generate fails

    if elements:
        suffix = _join_elements(elements)
        if not path.endswith("/"):
            suffix = "/" + suffix
    else:
        suffix = ""

    return request.application_url + path + suffix + qs + anchor
예제 #2
0
파일: batch.py 프로젝트: cguardia/karl
 def pagemaker(page):
     batch_start = str((page - 1) * batch['batch_size'])
     url = '?%s' % urlencode([('batch_start', batch_start)] + query_terms)
     return dict(page=page, url=url)
예제 #3
0
파일: batch.py 프로젝트: boothead/karl
 def pagemaker(page):
     batch_start = str((page - 1) * batch["batch_size"])
     url = "?%s" % urlencode([("batch_start", batch_start)] + query_terms)
     return dict(page=page, url=url)