12345678910111213141516171819202122232425262728293031 |
- # -*- coding: utf-8 -*-
- import re
-
- from .controllers import *
- from .urls import urls
- from ..main import root_url
- from lodel.settings import Settings
-
- def format_url_rule(url_rule):
- if url_rule.startswith('^'):
- res = url_rule.replace('^', '^'+root_url())
- else:
- res = root_url()+'.*'+url_rule
- return res
-
-
- def get_controller(request):
-
- url_rules = []
- for url in urls:
- url_rules.append((format_url_rule(url[0]), url[1]))
-
- # Returning the right controller to call
- for regex, callback in url_rules:
- p = re.compile(regex)
- m = p.search(request.PATH)
- if m is not None:
- request.url_args = m.groupdict()
- return callback
-
- return not_found
|