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