Example #1
0
def compile_resource(resource):
    """
    Return compiled regex for resource matching
    """
    return re.compile(
        "^" + trim_resource(re.sub(r":(\w+)", r"(?P<\1>[\w-]+?)", resource)) +
        r"(\?(?P<querystring>.*))?$")
Example #2
0
    def __init__(self, resource):
        # syntax: /network/cellular/:id
        self.resource = trim_resource(resource)
        self.resource_regex = compile_resource(resource)
        self.handlers = []

        for method in ["get", "post", "put", "delete", "all"]:
            self.__setattr__(method, self.create_handler_func(method))
Example #3
0
    def __init__(self, resource):
        # syntax: /network/cellular/:id
        self.resource = trim_resource(resource)
        self.resource_regex = compile_resource(resource)
        self.handlers = []

        for method in ["get", "post", "put", "delete", "all"]:
            self.__setattr__(method, self.create_handler_func(method))
Example #4
0
    def test_trim_resource(self):
        uris = [
            dict(uri="/api/v1/test", trimUri="api/v1/test"),
            dict(uri="/api/v1/test/", trimUri="api/v1/test"),
            dict(uri="////api/v1/test////", trimUri="api/v1/test"),
            dict(uri="////api/v1/test", trimUri="api/v1/test"),
            dict(uri="api/v1/test/", trimUri="api/v1/test"),
            dict(uri="api/v1/test//////", trimUri="api/v1/test"),
            dict(uri="test", trimUri="test"),
            dict(uri="//test/", trimUri="test"),
            dict(uri="/test", trimUri="test")
        ]

        for testcase in uris:
            self.assertEqual(trim_resource(testcase["uri"]),
                             testcase["trimUri"])
Example #5
0
    def test_trim_resource(self):
        uris = [
            dict(uri="/api/v1/test", trimUri="api/v1/test"),
            dict(uri="/api/v1/test/", trimUri="api/v1/test"),
            dict(uri="////api/v1/test////", trimUri="api/v1/test"),
            dict(uri="////api/v1/test", trimUri="api/v1/test"),
            dict(uri="api/v1/test/", trimUri="api/v1/test"),
            dict(uri="api/v1/test//////", trimUri="api/v1/test"),
            dict(uri="test", trimUri="test"),
            dict(uri="//test/", trimUri="test"),
            dict(uri="/test", trimUri="test")
        ]

        for testcase in uris:
            self.assertEqual(trim_resource(testcase["uri"]),
                             testcase["trimUri"])
Example #6
0
def compile_resource(resource):
    """
    Return compiled regex for resource matching
    """
    return re.compile("^" + trim_resource(re.sub(r":(\w+)", r"(?P<\1>[\w-]+?)",
                      resource)) + r"(\?(?P<querystring>.*))?$")