werkzeug で ルールコンバータを作る
Werkzeug のルーティングで正規表現を使えるようにするコンバータを作る方法。
# -*- coding: utf-8 -*- from werkzeug.routing import Map, Rule, BaseConverter class RegexConverter(BaseConverter): def __init__(self, url_map, *items): super(RegexConverter, self).__init__(url_map) self.regex = items[0] url_map = Map( [Rule('/<regex(".*$"):route>')], converters={'regex': RegexConverter} ) urls = url_map.bind_to_environ(request.environ)
こんな感じで作る。
# この場合全てに一致するルール