summaryrefslogtreecommitdiff
path: root/day9/task5_vue/backend/router.py
diff options
context:
space:
mode:
authorAndrew <saintruler@gmail.com>2019-07-21 12:14:09 +0400
committerAndrew <saintruler@gmail.com>2019-07-21 12:14:09 +0400
commit2305ced85888a23f86ecfcdfb64a3b69c4997a4c (patch)
tree9d5cc4ad1c322ca2bf46b990498ad0a79d508aff /day9/task5_vue/backend/router.py
parent8c8712f0e6b165f6967f5d2958f300df6182296c (diff)
Переписан бекенд. Добавлена валидация при обновлении значений в ряду.
Удалена предыдущая версия приложения без vue.
Diffstat (limited to 'day9/task5_vue/backend/router.py')
-rw-r--r--day9/task5_vue/backend/router.py41
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 = {}