X-Git-Url: https://jfr.im/git/yt-dlp.git/blobdiff_plain/b24f347190b02e519dae9e60e1dff2c56ecdd92f..bef9a9e5361fd7a72e21d0f1a8c8afb70d89e8c5:/test/test_age_restriction.py diff --git a/test/test_age_restriction.py b/test/test_age_restriction.py index 943f9a315..68107590e 100644 --- a/test/test_age_restriction.py +++ b/test/test_age_restriction.py @@ -1,52 +1,54 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 +# Allow direct execution +import os import sys import unittest -# Allow direct execution -import os -sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) +sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) -from youtube_dl import YoutubeDL -from helper import try_rm + +from test.helper import is_download_test, try_rm +from yt_dlp import YoutubeDL +from yt_dlp.utils import DownloadError def _download_restricted(url, filename, age): - """ Returns true iff the file has been downloaded """ + """ Returns true if the file has been downloaded """ params = { 'age_limit': age, 'skip_download': True, 'writeinfojson': True, - "outtmpl": "%(id)s.%(ext)s", + 'outtmpl': '%(id)s.%(ext)s', } ydl = YoutubeDL(params) ydl.add_default_info_extractors() - json_filename = filename + '.info.json' - try_rm(json_filename) - ydl.download([url]) - res = os.path.exists(json_filename) + json_filename = os.path.splitext(filename)[0] + '.info.json' try_rm(json_filename) - return res + try: + ydl.download([url]) + except DownloadError: + pass + else: + return os.path.exists(json_filename) + finally: + try_rm(json_filename) +@is_download_test class TestAgeRestriction(unittest.TestCase): def _assert_restricted(self, url, filename, age, old_age=None): self.assertTrue(_download_restricted(url, filename, old_age)) self.assertFalse(_download_restricted(url, filename, age)) def test_youtube(self): - self._assert_restricted('07FYdnEawAQ', '07FYdnEawAQ.mp4', 10) + self._assert_restricted('HtVdAasjOgU', 'HtVdAasjOgU.mp4', 10) def test_youporn(self): self._assert_restricted( - 'http://www.youporn.com/watch/505835/sex-ed-is-it-safe-to-masturbate-daily/', - '505835.mp4', 2, old_age=25) - - def test_pornotube(self): - self._assert_restricted( - 'http://pornotube.com/c/173/m/1689755/Marilyn-Monroe-Bathing', - '1689755.flv', 13) + 'https://www.youporn.com/watch/16715086/sex-ed-in-detention-18-asmr/', + '16715086.mp4', 2, old_age=25) if __name__ == '__main__':