Mercurial > piecrust2
comparison piecrust/uriutil.py @ 5:474c9882decf
Upgrade to Python 3.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Mon, 11 Aug 2014 22:36:47 -0700 |
parents | f485ba500df3 |
children | f5ca5c5bed85 |
comparison
equal
deleted
inserted
replaced
4:7dc71c2dc9a8 | 5:474c9882decf |
---|---|
47 uri = uri[:match.start()] | 47 uri = uri[:match.start()] |
48 page_num = int(match.group(1)) | 48 page_num = int(match.group(1)) |
49 | 49 |
50 uri = '/' + uri.strip('/') | 50 uri = '/' + uri.strip('/') |
51 | 51 |
52 for rn, rc in routes.iteritems(): | 52 for rn, rc in routes.items(): |
53 pattern = route_to_pattern(rn) | 53 pattern = route_to_pattern(rn) |
54 m = re.match(pattern, uri) | 54 m = re.match(pattern, uri) |
55 if m is not None: | 55 if m is not None: |
56 args = m.groupdict() | 56 args = m.groupdict() |
57 return UriInfo(uri, rc['source'], args, rc.get('taxonomy'), | 57 return UriInfo(uri, rc['source'], args, rc.get('taxonomy'), |
66 def route_to_pattern(route): | 66 def route_to_pattern(route): |
67 return r2p_pattern.sub(r'(?P<\1>[\w\-]+)', route) | 67 return r2p_pattern.sub(r'(?P<\1>[\w\-]+)', route) |
68 | 68 |
69 | 69 |
70 def multi_replace(text, replacements): | 70 def multi_replace(text, replacements): |
71 reps = dict((re.escape(k), v) for k, v in replacements.iteritems()) | 71 reps = dict((re.escape(k), v) for k, v in replacements.items()) |
72 pattern = re.compile("|".join(reps.keys())) | 72 pattern = re.compile("|".join(list(reps.keys()))) |
73 return pattern.sub(lambda m: reps[re.escape(m.group(0))], text) | 73 return pattern.sub(lambda m: reps[re.escape(m.group(0))], text) |
74 | 74 |