+ if resume_len > 0:
+ content_range = data.headers.get('Content-Range')
+ if content_range:
+ content_range_m = re.search(r'bytes (\d+)-', content_range)
+ # Content-Range is correct - go on
+ if content_range_m and resume_len == int(content_range_m.group(1)):
+ break
+ # Content-Range is invalid - wipe the file and do entire redownload
+ self.report_unable_to_resume()
+ resume_len = 0
+ open_mode = 'wb'