summaryrefslogtreecommitdiffstats
path: root/yt_dlp/extractor/extremetube.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 17:37:42 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 17:37:42 +0000
commitc7bab7c39fd51c0812f70020172766303191bc01 (patch)
tree56c05fbdd4fc47409d48ba318a4b621a7b0d299a /yt_dlp/extractor/extremetube.py
parentInitial commit. (diff)
downloadyt-dlp-c7bab7c39fd51c0812f70020172766303191bc01.tar.xz
yt-dlp-c7bab7c39fd51c0812f70020172766303191bc01.zip
Adding upstream version 2023.03.04.upstream/2023.03.04upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--yt_dlp/extractor/extremetube.py48
1 files changed, 48 insertions, 0 deletions
diff --git a/yt_dlp/extractor/extremetube.py b/yt_dlp/extractor/extremetube.py
new file mode 100644
index 0000000..2c19698
--- /dev/null
+++ b/yt_dlp/extractor/extremetube.py
@@ -0,0 +1,48 @@
+from ..utils import str_to_int
+from .keezmovies import KeezMoviesIE
+
+
+class ExtremeTubeIE(KeezMoviesIE): # XXX: Do not subclass from concrete IE
+ _VALID_URL = r'https?://(?:www\.)?extremetube\.com/(?:[^/]+/)?video/(?P<id>[^/#?&]+)'
+ _TESTS = [{
+ 'url': 'http://www.extremetube.com/video/music-video-14-british-euro-brit-european-cumshots-swallow-652431',
+ 'md5': '92feaafa4b58e82f261e5419f39c60cb',
+ 'info_dict': {
+ 'id': 'music-video-14-british-euro-brit-european-cumshots-swallow-652431',
+ 'ext': 'mp4',
+ 'title': 'Music Video 14 british euro brit european cumshots swallow',
+ 'uploader': 'anonim',
+ 'view_count': int,
+ 'age_limit': 18,
+ }
+ }, {
+ 'url': 'http://www.extremetube.com/gay/video/abcde-1234',
+ 'only_matching': True,
+ }, {
+ 'url': 'http://www.extremetube.com/video/latina-slut-fucked-by-fat-black-dick',
+ 'only_matching': True,
+ }, {
+ 'url': 'http://www.extremetube.com/video/652431',
+ 'only_matching': True,
+ }]
+
+ def _real_extract(self, url):
+ webpage, info = self._extract_info(url)
+
+ if not info['title']:
+ info['title'] = self._search_regex(
+ r'<h1[^>]+title="([^"]+)"[^>]*>', webpage, 'title')
+
+ uploader = self._html_search_regex(
+ r'Uploaded by:\s*</[^>]+>\s*<a[^>]+>(.+?)</a>',
+ webpage, 'uploader', fatal=False)
+ view_count = str_to_int(self._search_regex(
+ r'Views:\s*</[^>]+>\s*<[^>]+>([\d,\.]+)</',
+ webpage, 'view count', fatal=False))
+
+ info.update({
+ 'uploader': uploader,
+ 'view_count': view_count,
+ })
+
+ return info