$def with (pagecount, index, url_template) $if isinstance(url_template, basestring): $ url = lambda i: url_template % {"page": i} $else: $ url = url_template $ index = int(index) $ r = 3 $ start = max(1, min(index - r, pagecount - 2*r)) $ end = min(pagecount, max(index + r, 1 + 2*r)) $if pagecount > 1: