mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-23 19:33:59 +01:00
better Vimeo tests; fixed a couple of VimeoIE fields
This commit is contained in:
parent
77c4beab8a
commit
6b3aef80ce
|
@ -6,8 +6,8 @@
|
|||
import json
|
||||
import unittest
|
||||
import sys
|
||||
import socket
|
||||
import hashlib
|
||||
import socket
|
||||
|
||||
# Allow direct execution
|
||||
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||
|
@ -25,7 +25,6 @@
|
|||
proxy_handler = compat_urllib_request.ProxyHandler()
|
||||
opener = compat_urllib_request.build_opener(proxy_handler, cookie_processor, YoutubeDLHandler())
|
||||
compat_urllib_request.install_opener(opener)
|
||||
socket.setdefaulttimeout(300) # 5 minutes should be enough (famous last words)
|
||||
|
||||
class FileDownloader(youtube_dl.FileDownloader):
|
||||
def __init__(self, *args, **kwargs):
|
||||
|
@ -90,12 +89,12 @@ def test_template(self):
|
|||
md5_for_file = _file_md5(test_case['file'])
|
||||
self.assertEqual(md5_for_file, test_case['md5'])
|
||||
info_dict = fd.processed_info_dicts[0]
|
||||
for (info_element, value) in test_case.get('info_dict', {}).items():
|
||||
for (info_field, value) in test_case.get('info_dict', {}).items():
|
||||
if value.startswith('md5:'):
|
||||
md5_info_value = hashlib.md5(info_dict[info_element]).hexdigest()
|
||||
md5_info_value = hashlib.md5(info_dict.get(info_field, '')).hexdigest()
|
||||
self.assertEqual(value[3:], md5_info_value)
|
||||
else:
|
||||
self.assertEqual(value, info_dict[info_element])
|
||||
self.assertEqual(value, info_dict.get(info_field))
|
||||
|
||||
return test_template
|
||||
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
|
||||
import json
|
||||
import os
|
||||
import socket
|
||||
import sys
|
||||
import unittest
|
||||
|
||||
|
@ -22,7 +21,6 @@
|
|||
proxy_handler = compat_urllib_request.ProxyHandler()
|
||||
opener = compat_urllib_request.build_opener(proxy_handler, cookie_processor, YoutubeDLHandler())
|
||||
compat_urllib_request.install_opener(opener)
|
||||
socket.setdefaulttimeout(300) # 5 minutes should be enough (famous last words)
|
||||
|
||||
class FileDownloader(youtube_dl.FileDownloader):
|
||||
def __init__(self, *args, **kwargs):
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
|
||||
import sys
|
||||
import unittest
|
||||
import socket
|
||||
import json
|
||||
|
||||
# Allow direct execution
|
||||
|
@ -22,7 +21,6 @@
|
|||
proxy_handler = compat_urllib_request.ProxyHandler()
|
||||
opener = compat_urllib_request.build_opener(proxy_handler, cookie_processor, YoutubeDLHandler())
|
||||
compat_urllib_request.install_opener(opener)
|
||||
socket.setdefaulttimeout(300) # 5 minutes should be enough (famous last words)
|
||||
|
||||
class FakeDownloader(object):
|
||||
def __init__(self):
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
|
||||
import sys
|
||||
import unittest
|
||||
import socket
|
||||
import json
|
||||
import io
|
||||
import hashlib
|
||||
|
@ -24,7 +23,6 @@
|
|||
proxy_handler = compat_urllib_request.ProxyHandler()
|
||||
opener = compat_urllib_request.build_opener(proxy_handler, cookie_processor, YoutubeDLHandler())
|
||||
compat_urllib_request.install_opener(opener)
|
||||
socket.setdefaulttimeout(300) # 5 minutes should be enough (famous last words)
|
||||
|
||||
class FakeDownloader(object):
|
||||
def __init__(self):
|
||||
|
|
|
@ -37,9 +37,16 @@
|
|||
},
|
||||
{
|
||||
"name": "Vimeo",
|
||||
"md5": "60540a4ec7cc378ec84b919c0aed5023",
|
||||
"url": "http://vimeo.com/14160053",
|
||||
"file": "14160053.mp4"
|
||||
"md5": "8879b6cc097e987f02484baf890129e5",
|
||||
"url": "http://vimeo.com/56015672",
|
||||
"file": "56015672.mp4",
|
||||
"info_dict": {
|
||||
"title": "youtube-dl test video - ★ \" ' 幸 / \\ ä ↭ 𝕐",
|
||||
"uploader": "Filippo Valsorda",
|
||||
"uploader_id": "user7108434",
|
||||
"upload_date": "20121220",
|
||||
"description": "This is a test case for youtube-dl.\nFor more information, see github.com/rg3/youtube-dl\nTest chars: ★ \" ' 幸 / \\ ä ↭ 𝕐"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Soundcloud",
|
||||
|
|
|
@ -1018,9 +1018,9 @@ def _real_extract(self, url, new_video=True):
|
|||
|
||||
# Extract upload date
|
||||
video_upload_date = None
|
||||
mobj = re.search(r'<span id="clip-date" style="display:none">[^:]*: (.*?)( \([^\(]*\))?</span>', webpage)
|
||||
mobj = re.search(r'<meta itemprop="dateCreated" content="(\d{4})-(\d{2})-(\d{2})T', webpage)
|
||||
if mobj is not None:
|
||||
video_upload_date = mobj.group(1)
|
||||
video_upload_date = mobj.group(1) + mobj.group(2) + mobj.group(3)
|
||||
|
||||
# Vimeo specific: extract request signature and timestamp
|
||||
sig = config['request']['signature']
|
||||
|
|
|
@ -298,7 +298,8 @@ def clean_html(html):
|
|||
"""Clean an HTML snippet into a readable string"""
|
||||
# Newline vs <br />
|
||||
html = html.replace('\n', ' ')
|
||||
html = re.sub('\s*<\s*br\s*/?\s*>\s*', '\n', html)
|
||||
html = re.sub(r'\s*<\s*br\s*/?\s*>\s*', '\n', html)
|
||||
html = re.sub(r'<\s*/\s*p\s*>\s*<\s*p[^>]*>', '\n', html)
|
||||
# Strip html tags
|
||||
html = re.sub('<.*?>', '', html)
|
||||
# Replace html entities
|
||||
|
|
Loading…
Reference in New Issue
Block a user