'*If* there is only one range, and *if* it is satisfiable by
the given length, then return a (start, end) non-inclusive range
of bytes to serve.  Otherwise return None'

def range_for_length(self, length):

    if (length is None):
        return None
    (start, end) = (self.start, self.end)
    if (end is None):
        end = length
        if (start < 0):
            start += length
    if _is_content_range_valid(start, end, length):
        stop = min(end, length)
        return (start, stop)
    else:
        return None
