Explorar o código

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

Sergey M․ %!s(int64=11) %!d(string=hai) anos
pai
achega
5f58165def
Modificáronse 1 ficheiros con 6 adicións e 0 borrados
  1. 6 0
      youtube_dl/extractor/common.py

+ 6 - 0
youtube_dl/extractor/common.py

@@ -281,6 +281,12 @@ class InfoExtractor(object):
             raw_filename = basen + '.dump'
             filename = sanitize_filename(raw_filename, restricted=True)
             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:
                 outf.write(webpage_bytes)