Beispiel #1
0
 def test_no_duplicates(self):
     ies = gen_extractors()
     for tc in get_testcases():
         url = tc['url']
         for ie in ies:
             if type(ie).__name__ in ('GenericIE', tc['name'] + 'IE'):
                 self.assertTrue(ie.suitable(url), '%s should match URL %r' % (type(ie).__name__, url))
             else:
                 self.assertFalse(ie.suitable(url), '%s should not match URL %r' % (type(ie).__name__, url))
Beispiel #2
0
 def test_no_duplicates(self):
     ies = gen_extractors()
     for tc in get_testcases():
         url = tc["url"]
         for ie in ies:
             if type(ie).__name__ in ("GenericIE", tc["name"] + "IE"):
                 self.assertTrue(ie.suitable(url), "%s should match URL %r" % (type(ie).__name__, url))
             else:
                 self.assertFalse(ie.suitable(url), "%s should not match URL %r" % (type(ie).__name__, url))
Beispiel #3
0
 def test_no_duplicates(self):
     ies = gen_extractors()
     for tc in get_testcases():
         url = tc['url']
         for ie in ies:
             if type(ie).__name__ in ['GenericIE', tc['name'] + 'IE']:
                 self.assertTrue(
                     ie.suitable(url),
                     '%s should match URL %r' % (type(ie).__name__, url))
             else:
                 self.assertFalse(
                     ie.suitable(url), '%s should not match URL %r' %
                     (type(ie).__name__, url))
Beispiel #4
0
# Allow direct execution
import os
import sys
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

from test.helper import get_testcases
from youtube_dl.utils import compat_urllib_parse_urlparse
from youtube_dl.utils import compat_urllib_request

if len(sys.argv) > 1:
    METHOD = 'LIST'
    LIST = open(sys.argv[1]).read().decode('utf8').strip()
else:
    METHOD = 'EURISTIC'

for test in get_testcases():
    if METHOD == 'EURISTIC':
        try:
            webpage = compat_urllib_request.urlopen(test['url'], timeout=10).read()
        except:
            print('\nFail: {0}'.format(test['name']))
            continue

        webpage = webpage.decode('utf8', 'replace')

        RESULT = 'p**n' in webpage.lower()

    elif METHOD == 'LIST':
        domain = compat_urllib_parse_urlparse(test['url']).netloc
        if not domain:
            print('\nFail: {0}'.format(test['name']))
Beispiel #5
0
    def __init__(self, *args, **kwargs):
        self.to_stderr = self.to_screen
        self.processed_info_dicts = []
        super(YoutubeDL, self).__init__(*args, **kwargs)
    def report_warning(self, message):
        # Don't accept warnings during tests
        raise ExtractorError(message)
    def process_info(self, info_dict):
        self.processed_info_dicts.append(info_dict)
        return super(YoutubeDL, self).process_info(info_dict)

def _file_md5(fn):
    with open(fn, 'rb') as f:
        return hashlib.md5(f.read()).hexdigest()

defs = get_testcases()


class TestDownload(unittest.TestCase):
    maxDiff = None
    def setUp(self):
        self.defs = defs

### Dynamically generate tests
def generator(test_case):

    def test_template(self):
        ie = youtube_dl.extractor.get_info_extractor(test_case['name'])
        other_ies = [get_info_extractor(ie_key) for ie_key in test_case.get('add_ie', [])]
        def print_skipping(reason):
            print('Skipping %s: %s' % (test_case['name'], reason))
    def report_warning(self, message):
        # Don't accept warnings during tests
        raise ExtractorError(message)

    def process_info(self, info_dict):
        self.processed_info_dicts.append(info_dict)
        return super(YoutubeDL, self).process_info(info_dict)


def _file_md5(fn):
    with open(fn, 'rb') as f:
        return hashlib.md5(f.read()).hexdigest()


defs = get_testcases()


class TestDownload(unittest.TestCase):
    maxDiff = None

    def setUp(self):
        self.defs = defs


### Dynamically generate tests
def generator(test_case):
    def test_template(self):
        ie = youtube_dl.extractor.get_info_extractor(test_case['name'])

        def print_skipping(reason):
Beispiel #7
0
# Allow direct execution
import os
import sys
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

from test.helper import get_testcases
from youtube_dl.utils import compat_urllib_parse_urlparse
from youtube_dl.utils import compat_urllib_request

if len(sys.argv) > 1:
    METHOD = 'LIST'
    LIST = open(sys.argv[1]).read().decode('utf8').strip()
else:
    METHOD = 'EURISTIC'

for test in get_testcases():
    if METHOD == 'EURISTIC':
        try:
            webpage = compat_urllib_request.urlopen(test['url'], timeout=10).read()
        except Exception:
            print('\nFail: {0}'.format(test['name']))
            continue

        webpage = webpage.decode('utf8', 'replace')

        RESULT = 'p**n' in webpage.lower()

    elif METHOD == 'LIST':
        domain = compat_urllib_parse_urlparse(test['url']).netloc
        if not domain:
            print('\nFail: {0}'.format(test['name']))