projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
8fe1049
)
[safari] Add support for learning.oreilly.com (closes #18510)
author
Sergey M․
<dstftw@gmail.com>
Sat, 15 Dec 2018 16:08:14 +0000
(23:08 +0700)
committer
Sergey M․
<dstftw@gmail.com>
Sat, 15 Dec 2018 16:08:14 +0000
(23:08 +0700)
youtube_dl/extractor/safari.py
patch
|
blob
|
history
diff --git
a/youtube_dl/extractor/safari.py
b/youtube_dl/extractor/safari.py
index 30e2a38b45f0c559b14e18c5e317e438a8d831f4..c0d32a1b9b5a403efdde67bc38c8c29d8e43ebe7 100644
(file)
--- a/
youtube_dl/extractor/safari.py
+++ b/
youtube_dl/extractor/safari.py
@@
-15,10
+15,10
@@
from ..utils import (
class SafariBaseIE(InfoExtractor):
class SafariBaseIE(InfoExtractor):
- _LOGIN_URL = 'https://
www.safaribooksonline
.com/accounts/login/'
+ _LOGIN_URL = 'https://
learning.oreilly
.com/accounts/login/'
_NETRC_MACHINE = 'safari'
_NETRC_MACHINE = 'safari'
- _API_BASE = 'https://
www.safaribooksonline
.com/api/v1'
+ _API_BASE = 'https://
learning.oreilly
.com/api/v1'
_API_FORMAT = 'json'
LOGGED_IN = False
_API_FORMAT = 'json'
LOGGED_IN = False
@@
-76,7
+76,7
@@
class SafariIE(SafariBaseIE):
IE_DESC = 'safaribooksonline.com online video'
_VALID_URL = r'''(?x)
https?://
IE_DESC = 'safaribooksonline.com online video'
_VALID_URL = r'''(?x)
https?://
- (?:www\.)?
safaribooksonline
\.com/
+ (?:www\.)?
(?:safaribooksonline|learning\.oreilly)
\.com/
(?:
library/view/[^/]+/(?P<course_id>[^/]+)/(?P<part>[^/?\#&]+)\.html|
videos/[^/]+/[^/]+/(?P<reference_id>[^-]+-[^/?\#&]+)
(?:
library/view/[^/]+/(?P<course_id>[^/]+)/(?P<part>[^/?\#&]+)\.html|
videos/[^/]+/[^/]+/(?P<reference_id>[^-]+-[^/?\#&]+)
@@
-104,6
+104,9
@@
class SafariIE(SafariBaseIE):
}, {
'url': 'https://www.safaribooksonline.com/videos/python-programming-language/9780134217314/9780134217314-PYMC_13_00',
'only_matching': True,
}, {
'url': 'https://www.safaribooksonline.com/videos/python-programming-language/9780134217314/9780134217314-PYMC_13_00',
'only_matching': True,
+ }, {
+ 'url': 'https://learning.oreilly.com/videos/hadoop-fundamentals-livelessons/9780133392838/9780133392838-00_SeriesIntro',
+ 'only_matching': True,
}]
_PARTNER_ID = '1926081'
}]
_PARTNER_ID = '1926081'
@@
-160,7
+163,7
@@
class SafariIE(SafariBaseIE):
class SafariApiIE(SafariBaseIE):
IE_NAME = 'safari:api'
class SafariApiIE(SafariBaseIE):
IE_NAME = 'safari:api'
- _VALID_URL = r'https?://(?:www\.)?
safaribooksonline
\.com/api/v1/book/(?P<course_id>[^/]+)/chapter(?:-content)?/(?P<part>[^/?#&]+)\.html'
+ _VALID_URL = r'https?://(?:www\.)?
(?:safaribooksonline|learning\.oreilly)
\.com/api/v1/book/(?P<course_id>[^/]+)/chapter(?:-content)?/(?P<part>[^/?#&]+)\.html'
_TESTS = [{
'url': 'https://www.safaribooksonline.com/api/v1/book/9780133392838/chapter/part00.html',
_TESTS = [{
'url': 'https://www.safaribooksonline.com/api/v1/book/9780133392838/chapter/part00.html',
@@
-185,7
+188,7
@@
class SafariCourseIE(SafariBaseIE):
_VALID_URL = r'''(?x)
https?://
(?:
_VALID_URL = r'''(?x)
https?://
(?:
- (?:www\.)?
safaribooksonline
\.com/
+ (?:www\.)?
(?:safaribooksonline|learning\.oreilly)
\.com/
(?:
library/view/[^/]+|
api/v1/book|
(?:
library/view/[^/]+|
api/v1/book|
@@
-213,6
+216,9
@@
class SafariCourseIE(SafariBaseIE):
}, {
'url': 'https://www.safaribooksonline.com/videos/python-programming-language/9780134217314',
'only_matching': True,
}, {
'url': 'https://www.safaribooksonline.com/videos/python-programming-language/9780134217314',
'only_matching': True,
+ }, {
+ 'url': 'https://learning.oreilly.com/videos/hadoop-fundamentals-livelessons/9780133392838',
+ 'only_matching': True,
}]
@classmethod
}]
@classmethod