浏览代码

[extractor/common] Limit --write-pages filename to 200 chars

This avoids problems with very long URLs.
Philipp Hagemeister 11 年之前
父节点
当前提交
3ec05685f7
共有 1 个文件被更改,包括 4 次插入0 次删除
  1. 4 0
      youtube_dl/extractor/common.py

+ 4 - 0
youtube_dl/extractor/common.py

@@ -1,4 +1,5 @@
 import base64
 import base64
+import hashlib
 import json
 import json
 import os
 import os
 import re
 import re
@@ -234,6 +235,9 @@ class InfoExtractor(object):
                 url = url_or_request.get_full_url()
                 url = url_or_request.get_full_url()
             except AttributeError:
             except AttributeError:
                 url = url_or_request
                 url = url_or_request
+            if len(url) > 200:
+                h = hashlib.md5(url).hexdigest()
+                url = url[:200 - len(h)] + h
             raw_filename = ('%s_%s.dump' % (video_id, url))
             raw_filename = ('%s_%s.dump' % (video_id, url))
             filename = sanitize_filename(raw_filename, restricted=True)
             filename = sanitize_filename(raw_filename, restricted=True)
             self.to_screen(u'Saving request to ' + filename)
             self.to_screen(u'Saving request to ' + filename)