Mercurial > piecrust2
diff piecrust/uriutil.py @ 710:e85f29b28b84
internal: Remove unused piece of code.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Thu, 26 May 2016 19:46:28 -0700 |
parents | 4284c673bb91 |
children | 4850f8c21b6e |
line wrap: on
line diff
--- a/piecrust/uriutil.py Thu May 19 22:11:27 2016 -0700 +++ b/piecrust/uriutil.py Thu May 26 19:46:28 2016 -0700 @@ -2,72 +2,11 @@ import os.path import string import logging -import functools logger = logging.getLogger(__name__) -class UriError(Exception): - def __init__(self, uri): - super(UriError, self).__init__("Invalid URI: %s" % uri) - - -@functools.total_ordering -class UriInfo(object): - def __init__(self, uri, source, args, taxonomy=None, page_num=1): - self.uri = uri - self.source = source - self.args = args - self.taxonomy = taxonomy - self.page_num = page_num - - def __eq__(self, other): - return ((self.uri, self.source, self.args, self.taxonomy, - self.page_num) == - (other.uri, other.source, other.args, other.taxonomy, - other.page_num)) - - def __lt__(self, other): - return ((self.uri, self.source, self.args, self.taxonomy, - self.page_num) < - (other.uri, other.source, other.args, other.taxonomy, - other.page_num)) - - -pagenum_pattern = re.compile(r'/(\d+)/?$') - - -def parse_uri(routes, uri): - if uri.find('..') >= 0: - raise UriError(uri) - - page_num = 1 - match = pagenum_pattern.search(uri) - if match is not None: - uri = uri[:match.start()] - page_num = int(match.group(1)) - - uri = '/' + uri.strip('/') - - for rn, rc in routes.items(): - pattern = route_to_pattern(rn) - m = re.match(pattern, uri) - if m is not None: - args = m.groupdict() - return UriInfo(uri, rc['source'], args, rc.get('taxonomy'), - page_num) - - return None - - -r2p_pattern = re.compile(r'%(\w+)%') - - -def route_to_pattern(route): - return r2p_pattern.sub(r'(?P<\1>[\w\-]+)', route) - - def multi_replace(text, replacements): reps = dict((re.escape(k), v) for k, v in replacements.items()) pattern = re.compile("|".join(list(reps.keys())))