Mercurial > piecrust2
changeset 176:d47d9493bb0a
routes: When matching URIs, return metadata directly instead of the match object.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sat, 03 Jan 2015 21:54:25 -0800 |
parents | 7aa5f7880f71 |
children | 4b0c87e7df73 |
files | piecrust/routing.py piecrust/serving.py tests/test_serving.py |
diffstat | 3 files changed, 5 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/piecrust/routing.py Sat Jan 03 21:31:38 2015 -0800 +++ b/piecrust/routing.py Sat Jan 03 21:54:25 2015 -0800 @@ -76,11 +76,11 @@ def matchUri(self, uri): m = self.uri_re.match(uri) if m: - return m + return m.groupdict() if self.uri_re_no_path: m = self.uri_re_no_path.match(uri) if m: - return m + return m.groupdict() return None def getUri(self, source_metadata, provider=None):
--- a/piecrust/serving.py Sat Jan 03 21:31:38 2015 -0800 +++ b/piecrust/serving.py Sat Jan 03 21:54:25 2015 -0800 @@ -418,9 +418,8 @@ uri = uri.lstrip('/') res = [] for route in routes: - m = route.matchUri(uri) - if m: - metadata = m.groupdict() + metadata = route.matchUri(uri) + if metadata: res.append((route, metadata)) return res
--- a/tests/test_serving.py Sat Jan 03 21:31:38 2015 -0800 +++ b/tests/test_serving.py Sat Jan 03 21:54:25 2015 -0800 @@ -22,7 +22,7 @@ m.source_name = rs['src'] m.source_realm = rs.setdefault('realm', REALM_USER) m.uri_re = re.compile(rs['pat']) - m.matchUri = lambda u: m.uri_re.match(u) + m.matchUri = lambda u: m.uri_re.match(u).groupdict() routes.append(m) matching = find_routes(routes, uri)