def get_squares_for_bounds(self, bounds):
        minx, miny, maxx, maxy = bounds

        if self.invert_x:
            minx, maxx = maxx, minx
        if self.invert_y:
            miny, maxy = maxy, miny

        min_square = self.get_square_for_point(minx, miny)
        max_square = self.get_square_for_point(maxx, maxy)

        if not min_square or not max_square:
            return None

        if min_square == max_square:
            return min_square
        return '%s-%s' % (min_square, max_square)