refactor: renamed app to lms

This commit is contained in:
Jannat Patel
2022-03-19 17:30:00 +05:30
parent 1b04615bff
commit c971d34d67
643 changed files with 227 additions and 235 deletions

25
lms/routing.py Normal file
View File

@@ -0,0 +1,25 @@
"""Utilities for making custom routing.
"""
from werkzeug.routing import BaseConverter, Map
from werkzeug.datastructures import ImmutableDict
class RegexConverter(BaseConverter):
"""werkzeug converter that supports custom regular expression.
The `install_regex_converter` function must be called before using
regex converter in rules.
"""
def __init__(self, map, regex):
super().__init__(map)
self.regex = regex
def install_regex_converter():
"""Installs the RegexConvetor to the default converters supported by werkzeug.
This allows specifing rules using regex. For example:
/profiles/<regex("[a-z0-9]{5,}"):username>
"""
default_converters = dict(Map.default_converters, regex=RegexConverter)
Map.default_converters = ImmutableDict(default_converters)