In 3.x:
def get_hot_pages(self, radius=2):
if self.page is None or self.max_pages is None:
return
low = max(self.page - radius, 0)
high = min(self.page + radius + 1, self.max_pages)
yield from range(low, high)
In 2.x:
def get_hot_pages(self, radius=2):
if self.page is None or self.max_pages is None:
return []
low = max(self.page - radius, 0)
high = min(self.page + radius + 1, self.max_pages)
return xrange(low, high)
SW4gMy54OgoKZGVmIGdldF9ob3RfcGFnZXMoc2VsZiwgcmFkaXVzPTIpOgogICAgaWYgc2VsZi5wYWdlIGlzIE5vbmUgb3Igc2VsZi5tYXhfcGFnZXMgaXMgTm9uZTogCiAgICAgICAgcmV0dXJuCiAgICBsb3cgPSBtYXgoc2VsZi5wYWdlIC0gcmFkaXVzLCAwKQogICAgaGlnaCA9IG1pbihzZWxmLnBhZ2UgKyByYWRpdXMgKyAxLCBzZWxmLm1heF9wYWdlcykKICAgIHlpZWxkIGZyb20gcmFuZ2UobG93LCBoaWdoKQogICAgCkluIDIueDoKCmRlZiBnZXRfaG90X3BhZ2VzKHNlbGYsIHJhZGl1cz0yKToKICAgIGlmIHNlbGYucGFnZSBpcyBOb25lIG9yIHNlbGYubWF4X3BhZ2VzIGlzIE5vbmU6IAogICAgICAgIHJldHVybiBbXQogICAgbG93ID0gbWF4KHNlbGYucGFnZSAtIHJhZGl1cywgMCkKICAgIGhpZ2ggPSBtaW4oc2VsZi5wYWdlICsgcmFkaXVzICsgMSwgc2VsZi5tYXhfcGFnZXMpCiAgICByZXR1cm4geHJhbmdlKGxvdywgaGlnaCk=