Beispiel #1
0
 def test_from_function(self):
     self.assertEqual(route_from_function(lambda: None), '')
     self.assertEqual(route_from_function(lambda self: None), '')
     self.assertEqual(route_from_function(lambda self, request: None), '')
     self.assertEqual(route_from_function(lambda foo: None), '^/(?P<foo>[^/]+)')
     self.assertEqual(route_from_function(lambda request, foo: None), '^/(?P<foo>[^/]+)')
     self.assertEqual(route_from_function(lambda self, request, foo: None), '^/(?P<foo>[^/]+)')
     self.assertEqual(route_from_function(lambda foo, bar: None), '^/(?P<foo>[^/]+)/(?P<bar>[^/]+)')
     self.assertEqual(route_from_function(lambda request, foo, bar: None), '^/(?P<foo>[^/]+)/(?P<bar>[^/]+)')
     self.assertEqual(route_from_function(lambda self, request, foo, bar: None), '^/(?P<foo>[^/]+)/(?P<bar>[^/]+)')
Beispiel #2
0
 def dec(fn):
     if url is not None:
         realurl = routes.route_from_string(url)
     else:
         realurl = routes.route_from_function(fn)
     fn._commis_api = {
         'name': fn.__name__,
         'url': realurl,
         'method': method,
         'admin': admin,
     }
     return fn
Beispiel #3
0
    def dec(fn):
        # Return modified function wrapping fn and possibly doing work before
        # it runs.
        @wraps(fn)
        def inner(*args, **kwargs):
            if validator is not None:
                validator(*args, **kwargs)
            return fn(*args, **kwargs)

        # Decorate returned function with API metadata
        if url is not None:
            realurl = routes.route_from_string(url)
        else:
            realurl = routes.route_from_function(fn)
        inner._commis_api = {
            'name': fn.__name__,
            'url': realurl,
            'method': method,
            'admin': admin,
        }
        return inner