def bytes_to_python_ranges(ranges, length=None):
        result = []
        for begin, end in ranges:
            if begin < 0:
                if length is None:
                    result.append((begin, None))
                    continue
                else:
                    begin = length - begin
                    end = length
            if begin is None:
                begin = 0
            if end is None and length is not None:
                end = length
            if length is not None and end is not None and end > length:
                return None
            if end is not None:
                end -= 1
            result.append((begin, end))
        return result
Converts the list-of-ranges from parse_bytes() to a Python-style
dataset/ETHPy150Open AppScale/appscale/AppServer/lib/webob_0_9/webob/byterange.py/Range.bytes_to_python_ranges