[extractor/common] Fix dumping requests with long file abspath on Windows

This commit is contained in:
Sergey M․ 2014-10-14 21:43:48 +07:00 committed by Sergey M
parent bd4e40df1a
commit 5f58165def

View file

@ -281,6 +281,12 @@ def _download_webpage_handle(self, url_or_request, video_id, note=None, errnote=
raw_filename = basen + '.dump' raw_filename = basen + '.dump'
filename = sanitize_filename(raw_filename, restricted=True) filename = sanitize_filename(raw_filename, restricted=True)
self.to_screen('Saving request to ' + filename) self.to_screen('Saving request to ' + filename)
# Working around MAX_PATH limitation on Windows (see
# http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx)
if os.name == 'nt':
absfilepath = os.path.abspath(filename)
if len(absfilepath) > 259:
filename = '\\\\?\\' + absfilepath
with open(filename, 'wb') as outf: with open(filename, 'wb') as outf:
outf.write(webpage_bytes) outf.write(webpage_bytes)