Beispiel #1
0
 def wrapper(f):
     try:
         DefaultRouter.add_url_rule(apiurl(rule),
                                    endpoint=endpoint,
                                    view_func=f,
                                    options=kw)
     except AssertionError:
         pass
     return f
 def wrapper(f):
     try:
         DefaultRouter.add_url_rule(apiurl(rule),
                                    endpoint=endpoint,
                                    view_func=f,
                                    options=kw)
     except AssertionError:
         pass
     return f
Beispiel #3
0
def api_json(context, request):
    """ API URLs
    """
    items = get_api_routes_for(BASE_URL)

    return {
        "url": DefaultRouter.url_for("api", force_external=True),
        "count": len(items),
        "items": items,
    }
def api_json(context, request):
    """ API URLs
    """
    items = get_api_routes_for(BASE_URL)

    return {
        "url": DefaultRouter.url_for("api", force_external=True),
        "count": len(items),
        "items": items,
    }
def get_api_routes_for(segment):
    """ return a list of all routes registered for the given url segment
    """
    adapter = DefaultRouter.get_adapter()

    out = []
    rx = re.compile(r".*%s/[\w]+$" % segment)

    for rule in adapter.map.iter_rules():
        if rx.match(rule.rule):
            endpoint = rule.endpoint
            info = DefaultRouter.view_functions.get(endpoint).__doc__
            url  = DefaultRouter.url_for(endpoint, force_external=True)
            out.append({
                "url":  url,
                "info": info and info.strip() or "No description available",
                "methods": ",".join(rule.methods),
            })
    return out