'Return a list of page numbers to show in the paginator.'

def range(self):

    (page, total, span) = (self.page, self.num_pages, self.span)
    if (total < self.max):
        (lower, upper) = (0, total)
    elif (page < (span + 1)):
        (lower, upper) = (0, (span * 2))
    elif (page > (total - span)):
        (lower, upper) = ((total - (span * 2)), total)
    else:
        (lower, upper) = ((page - span), ((page + span) - 1))
    return range(max((lower + 1), 1), (min(total, upper) + 1))
