Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
Backups
youtube-dl
Commits
6bd499e8
Unverified
Commit
6bd499e8
authored
May 26, 2018
by
Sergey M․
Browse files
[peertube] Add support for generic embeds
parent
f2fc63a5
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
32 additions
and
6 deletions
+32
-6
youtube_dl/extractor/generic.py
youtube_dl/extractor/generic.py
+15
-0
youtube_dl/extractor/peertube.py
youtube_dl/extractor/peertube.py
+17
-6
No files found.
youtube_dl/extractor/generic.py
View file @
6bd499e8
...
...
@@ -108,6 +108,7 @@ from .yapfiles import YapFilesIE
from
.vice
import
ViceIE
from
.xfileshare
import
XFileShareIE
from
.cloudflarestream
import
CloudflareStreamIE
from
.peertube
import
PeerTubeIE
class
GenericIE
(
InfoExtractor
):
...
...
@@ -2012,6 +2013,15 @@ class GenericIE(InfoExtractor):
'skip_download'
:
True
,
},
},
{
# PeerTube embed
'url'
:
'https://joinpeertube.org/fr/home/'
,
'info_dict'
:
{
'id'
:
'home'
,
'title'
:
'Reprenez le contrôle de vos vidéos ! #JoinPeertube'
,
},
'playlist_count'
:
2
,
},
{
'url'
:
'http://share-videos.se/auto/video/83645793?uid=13'
,
'md5'
:
'b68d276de422ab07ee1d49388103f457'
,
...
...
@@ -3029,6 +3039,11 @@ class GenericIE(InfoExtractor):
return
self
.
playlist_from_matches
(
cloudflarestream_urls
,
video_id
,
video_title
,
ie
=
CloudflareStreamIE
.
ie_key
())
peertube_urls
=
PeerTubeIE
.
_extract_urls
(
webpage
)
if
peertube_urls
:
return
self
.
playlist_from_matches
(
peertube_urls
,
video_id
,
video_title
,
ie
=
PeerTubeIE
.
ie_key
())
sharevideos_urls
=
[
mobj
.
group
(
'url'
)
for
mobj
in
re
.
finditer
(
r
'<iframe[^>]+?\bsrc\s*=\s*(["\'])(?P<url>(?:https?:)?//embed\.share-videos\.se/auto/embed/\d+\?.*?\buid=\d+.*?)\1'
,
webpage
)]
...
...
youtube_dl/extractor/peertube.py
View file @
6bd499e8
# coding: utf-8
from
__future__
import
unicode_literals
import
re
from
.common
import
InfoExtractor
from
..compat
import
compat_str
from
..utils
import
(
...
...
@@ -13,9 +15,7 @@ from ..utils import (
class
PeerTubeIE
(
InfoExtractor
):
_VALID_URL
=
r
'''(?x)
https?://
(?:
_INSTANCES_RE
=
r
'''(?:
# Taken from https://instances.joinpeertube.org/instances
tube\.openalgeria\.org|
peertube\.pointsecu\.fr|
...
...
@@ -115,10 +115,13 @@ class PeerTubeIE(InfoExtractor):
peertube2\.cpy\.re|
videos\.tcit\.fr|
peertube\.cpy\.re
)
)'''
_VALID_URL
=
r
'''(?x)
https?://
%s
/(?:videos/(?:watch|embed)|api/v\d/videos)/
(?P<id>[^/?#&]+)
'''
(?P<id>[^/?
\
#&]+)
'''
%
_INSTANCES_RE
_TESTS
=
[{
'url'
:
'https://peertube.moe/videos/watch/2790feb0-8120-4e63-9af3-c943c69f5e6c'
,
'md5'
:
'80f24ff364cc9d333529506a263e7feb'
,
...
...
@@ -156,6 +159,14 @@ class PeerTubeIE(InfoExtractor):
'only_matching'
:
True
,
}]
@
staticmethod
def
_extract_urls
(
webpage
):
return
[
mobj
.
group
(
'url'
)
for
mobj
in
re
.
finditer
(
r
'''(?x)<iframe[^>]+\bsrc=(["\'])(?P<url>(?:https?:)?//%s/videos/embed/[^/?\#&]+)\1'''
%
PeerTubeIE
.
_INSTANCES_RE
,
webpage
)]
def
_real_extract
(
self
,
url
):
video_id
=
self
.
_match_id
(
url
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment