diff options
| author | Andrew <saintruler@gmail.com> | 2019-07-21 12:14:09 +0400 |
|---|---|---|
| committer | Andrew <saintruler@gmail.com> | 2019-07-21 12:14:09 +0400 |
| commit | 2305ced85888a23f86ecfcdfb64a3b69c4997a4c (patch) | |
| tree | 9d5cc4ad1c322ca2bf46b990498ad0a79d508aff /day9/task5_vue/backend/router.py | |
| parent | 8c8712f0e6b165f6967f5d2958f300df6182296c (diff) | |
Переписан бекенд. Добавлена валидация при обновлении значений в ряду.
Удалена предыдущая версия приложения без vue.
Diffstat (limited to 'day9/task5_vue/backend/router.py')
| -rw-r--r-- | day9/task5_vue/backend/router.py | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/day9/task5_vue/backend/router.py b/day9/task5_vue/backend/router.py deleted file mode 100644 index be8305e..0000000 --- a/day9/task5_vue/backend/router.py +++ /dev/null @@ -1,41 +0,0 @@ -import re -from backend.utils import NOT_FOUND_CODE, BAD_REQUEST_CODE -from backend.core import Response, ErrorResponse - - -def route(url_format, methods=None): - if methods is None: - methods = ['GET'] - - def wrapper(func): - def inner(url, query, *args, **kwargs): - pattern = re.compile(url_format) - match = re.fullmatch(pattern, url) - - if match is None or len(match.groups()) != pattern.groups: - return ErrorResponse(BAD_REQUEST_CODE) - - return func(query, *match.groups(), *args, **kwargs) - - _router_tree[url_format] = _router_tree.get(url_format, {}) - for method in methods: - _router_tree[url_format][method] = inner - - return inner - - return wrapper - - -def run(request) -> Response: - res = ErrorResponse(NOT_FOUND_CODE) - - method, url = request['method'], request['url'] - for url_pattern in _router_tree: - if re.fullmatch(url_pattern, url) and method in _router_tree[url_pattern]: - res = _router_tree[url_pattern][method](url, request['query']) - break - - return res - - -_router_tree = {} |