@@ -0,0 +1,1794 @@
+%22%22%22%0ARegular-expression based blueprint for Kyoukai.%0A%0AThis produces regex-based routes when %60%60wrap_route%60%60 is called, and is the default blueprint handler for the Kyoukai%0Ablueprint tree.%0A%22%22%22%0Aimport typing%0A%0Afrom kyoukai.blueprints.base import ABCBlueprint%0Afrom kyoukai.routing.base import ABCRoute%0Afrom kyoukai.routing.regexp import RegexRoute%0A%0A%0Aclass RegexBlueprint(ABCBlueprint):%0A    %22%22%22%0A    The class for a RegexBlueprint.%0A%0A    RegexBlueprints are very simple compared to other types of blueprints, using a basic regular expression to match%0A    the path of of a request with a route. This means there is no complex type conversion, as there is with%0A    :class:%60kyoukai.blueprints.wz.WerkzeugBlueprint%60, and the routes used can be incredibly powerful.%0A    %22%22%22%0A%0A    def __init__(self, name: str, parent: 'ABCBlueprint' = None,%0A                 url_prefix: str = %22%22):%0A        super().__init__(name, parent, url_prefix)%0A%0A        # Define the routes list.%0A        self.routes = %5B%5D%0A%0A    def add_route(self, route: 'ABCRoute'):%0A        # Adds the route to self.route%0A        self.routes.append(route)%0A        return route%0A%0A    def wrap_route(self, match_string: str, coroutine: typing.Awaitable, *, methods: list = None,%0A                   run_hooks = True) -%3E ABCRoute:%0A        # Wrap the route in an RegexRoute instance.%0A        rtt = RegexRoute(self, match_string, methods, bound=False, run_hooks=run_hooks)%0A        rtt.create(coroutine)%0A%0A        return rtt%0A%0A    def gather_routes(self) -%3E list:%0A        # Gathers all routes to use.%0A        routes = %5B%5D%0A        for child in self.children:%0A            routes += child.gather_routes()%0A%0A        routes += self.routes%0A%0A        return routes%0A%0A    def match(self, route: str, method: str = None) -%3E typing.Tuple%5BABCRoute, typing.Iterable%5D:%0A        pass%0A

Add stub for a regular expression based blueprint.