pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/net/youtube-dl youtube-dl: Update to 20201126



details:   https://anonhg.NetBSD.org/pkgsrc/rev/d16fade7b7c8
branches:  trunk
changeset: 442552:d16fade7b7c8
user:      leot <leot%pkgsrc.org@localhost>
date:      Thu Nov 26 09:15:38 2020 +0000

description:
youtube-dl: Update to 20201126

pkgsrc changes:
 - Remove patch-youtube__dl_extractor_rai.py: applied upstream

Changes:
20201126
--------
Core
* [downloader/fragment] Set final file's mtime according to last fragment's
  Last-Modified header (#11718, #18384, #27138)

Extractors
+ [spreaker] Add support for spreaker.com (#13480, #13877)
* [vlive] Improve extraction for geo-restricted videos
+ [vlive] Add support for post URLs (#27122, #27123)
* [viki] Fix video API request (#27184)
* [bbc] Fix BBC Three clip extraction
* [bbc] Fix BBC News videos extraction
+ [medaltv] Add support for medal.tv (#27149)
* [youtube] Imporve music metadata and license extraction (#26013)
* [nrk] Fix extraction
* [cda] Fix extraction (#17803, #24458, #24518, #26381)


20201124
--------
Core
+ [extractor/common] Add generic support for akamai HTTP format extraction

Extractors
* [youtube:tab] Fix feeds extraction (#25695, #26452)
* [youtube:favorites] Restore extractor
* [youtube:tab] Fix some weird typo (#27157)
+ [pinterest] Add support for large collections (more than 25 pins)
+ [franceinter] Extract thumbnail (#27153)
+ [box] Add support for box.com (#5949)
+ [nytimes] Add support for cooking.nytimes.com (#27112, #27143)
* [lbry] Relax URL regular expression (#27144)
+ [rumble] Add support for embed pages (#10785)
+ [skyit] Add support for multiple Sky Italia websites (#26629)
+ [pinterest] Add support for pinterest.com (#25747)


202011211
---------
Core
* [downloader/http] Fix crash during urlopen caused by missing reason
  of URLError
* [YoutubeDL] Fix --ignore-errors for playlists with generator-based entries
  of url_transparent (#27064)

Extractors
+ [svtplay] Add support for svt.se/barnkanalen (#24817)
+ [svt] Extract timestamp (#27130)
* [svtplay] Improve thumbnail extraction (#27130)
* [youtube] Fix error reason extraction (#27081)
* [youtube] Fix like and dislike count extraction (#25977)
+ [youtube:tab] Add support for current video and fix lives extraction (#27126)
* [infoq] Fix format extraction (#25984)
* [francetv] Update to fix thumbnail URL issue (#27120)
* [youtube] Improve yt initial data extraction (#27093)
+ [discoverynetworks] Add support new TLC/DMAX URLs (#27100)
* [rai] Fix protocol relative relinker URLs (#22766)
* [rai] Fix unavailable video format detection
* [rai] Improve extraction
* [rai] Fix extraction (#27077)
* [viki] Improve format extraction
* [viki] Fix stream extraction from MPD (#27092)
* [googledrive] Fix format extraction (#26979)
+ [amara] Add support for amara.org (#20618)
* [vimeo:album] Fix extraction (#27079)
* [mtv] Fix mgid extraction (#26841)


20201119
--------
Core
* [extractor/common] Output error for invalid URLs in _is_valid_url (#21400,
  #24151, #25617, #25618, #25586, #26068, #27072)

Extractors
* [youporn] Fix upload date extraction
* [youporn] Make comment count optional (#26986)
* [arte] Rework extractors
    * Reimplement embed and playlist extractors to delegate to the single
      entrypoint artetv extractor
    * Improve embeds detection (#27057)
+ [arte] Extract m3u8 formats (#27061)
* [mgtv] Fix format extraction (#26415)
+ [lbry] Add support for odysee.com (#26806)
* [francetv] Improve info extraction
+ [francetv] Add fallback video URL extraction (#27047)

diffstat:

 net/youtube-dl/Makefile                                   |    4 +-
 net/youtube-dl/PLIST                                      |   23 +-
 net/youtube-dl/distinfo                                   |   11 +-
 net/youtube-dl/patches/patch-youtube__dl_extractor_rai.py |  220 --------------
 4 files changed, 29 insertions(+), 229 deletions(-)

diffs (truncated from 336 to 300 lines):

diff -r 6ae1615d2b98 -r d16fade7b7c8 net/youtube-dl/Makefile
--- a/net/youtube-dl/Makefile   Wed Nov 25 22:59:26 2020 +0000
+++ b/net/youtube-dl/Makefile   Thu Nov 26 09:15:38 2020 +0000
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.219 2020/11/18 17:35:15 leot Exp $
+# $NetBSD: Makefile,v 1.220 2020/11/26 09:15:38 leot Exp $
 
 # XXX: VERSION_DATE can contains also an optional part that indicates
 # XXX: possible same day revisions. PKGNAME preserves that dotted part as is.
-VERSION_DATE=  2020.11.18
+VERSION_DATE=  2020.11.26
 DISTNAME=      youtube-dl-${VERSION_DATE}
 PKGNAME=       ${DISTNAME:S/.//:S/.//}
 CATEGORIES=    net
diff -r 6ae1615d2b98 -r d16fade7b7c8 net/youtube-dl/PLIST
--- a/net/youtube-dl/PLIST      Wed Nov 25 22:59:26 2020 +0000
+++ b/net/youtube-dl/PLIST      Thu Nov 26 09:15:38 2020 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.100 2020/11/18 17:35:15 leot Exp $
+@comment $NetBSD: PLIST,v 1.101 2020/11/26 09:15:38 leot Exp $
 bin/youtube-dl
 ${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
 ${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
@@ -110,6 +110,9 @@
 ${PYSITELIB}/youtube_dl/extractor/alphaporno.py
 ${PYSITELIB}/youtube_dl/extractor/alphaporno.pyc
 ${PYSITELIB}/youtube_dl/extractor/alphaporno.pyo
+${PYSITELIB}/youtube_dl/extractor/amara.py
+${PYSITELIB}/youtube_dl/extractor/amara.pyc
+${PYSITELIB}/youtube_dl/extractor/amara.pyo
 ${PYSITELIB}/youtube_dl/extractor/amcnetworks.py
 ${PYSITELIB}/youtube_dl/extractor/amcnetworks.pyc
 ${PYSITELIB}/youtube_dl/extractor/amcnetworks.pyo
@@ -245,6 +248,9 @@
 ${PYSITELIB}/youtube_dl/extractor/bostonglobe.py
 ${PYSITELIB}/youtube_dl/extractor/bostonglobe.pyc
 ${PYSITELIB}/youtube_dl/extractor/bostonglobe.pyo
+${PYSITELIB}/youtube_dl/extractor/box.py
+${PYSITELIB}/youtube_dl/extractor/box.pyc
+${PYSITELIB}/youtube_dl/extractor/box.pyo
 ${PYSITELIB}/youtube_dl/extractor/bpb.py
 ${PYSITELIB}/youtube_dl/extractor/bpb.pyc
 ${PYSITELIB}/youtube_dl/extractor/bpb.pyo
@@ -1070,6 +1076,9 @@
 ${PYSITELIB}/youtube_dl/extractor/mdr.py
 ${PYSITELIB}/youtube_dl/extractor/mdr.pyc
 ${PYSITELIB}/youtube_dl/extractor/mdr.pyo
+${PYSITELIB}/youtube_dl/extractor/medaltv.py
+${PYSITELIB}/youtube_dl/extractor/medaltv.pyc
+${PYSITELIB}/youtube_dl/extractor/medaltv.pyo
 ${PYSITELIB}/youtube_dl/extractor/medialaan.py
 ${PYSITELIB}/youtube_dl/extractor/medialaan.pyc
 ${PYSITELIB}/youtube_dl/extractor/medialaan.pyo
@@ -1403,6 +1412,9 @@
 ${PYSITELIB}/youtube_dl/extractor/pinkbike.py
 ${PYSITELIB}/youtube_dl/extractor/pinkbike.pyc
 ${PYSITELIB}/youtube_dl/extractor/pinkbike.pyo
+${PYSITELIB}/youtube_dl/extractor/pinterest.py
+${PYSITELIB}/youtube_dl/extractor/pinterest.pyc
+${PYSITELIB}/youtube_dl/extractor/pinterest.pyo
 ${PYSITELIB}/youtube_dl/extractor/pladform.py
 ${PYSITELIB}/youtube_dl/extractor/pladform.pyc
 ${PYSITELIB}/youtube_dl/extractor/pladform.pyo
@@ -1592,6 +1604,9 @@
 ${PYSITELIB}/youtube_dl/extractor/ruhd.py
 ${PYSITELIB}/youtube_dl/extractor/ruhd.pyc
 ${PYSITELIB}/youtube_dl/extractor/ruhd.pyo
+${PYSITELIB}/youtube_dl/extractor/rumble.py
+${PYSITELIB}/youtube_dl/extractor/rumble.pyc
+${PYSITELIB}/youtube_dl/extractor/rumble.pyo
 ${PYSITELIB}/youtube_dl/extractor/rutube.py
 ${PYSITELIB}/youtube_dl/extractor/rutube.pyc
 ${PYSITELIB}/youtube_dl/extractor/rutube.pyo
@@ -1667,6 +1682,9 @@
 ${PYSITELIB}/youtube_dl/extractor/sky.py
 ${PYSITELIB}/youtube_dl/extractor/sky.pyc
 ${PYSITELIB}/youtube_dl/extractor/sky.pyo
+${PYSITELIB}/youtube_dl/extractor/skyit.py
+${PYSITELIB}/youtube_dl/extractor/skyit.pyc
+${PYSITELIB}/youtube_dl/extractor/skyit.pyo
 ${PYSITELIB}/youtube_dl/extractor/skylinewebcams.py
 ${PYSITELIB}/youtube_dl/extractor/skylinewebcams.pyc
 ${PYSITELIB}/youtube_dl/extractor/skylinewebcams.pyo
@@ -1724,6 +1742,9 @@
 ${PYSITELIB}/youtube_dl/extractor/sportdeutschland.py
 ${PYSITELIB}/youtube_dl/extractor/sportdeutschland.pyc
 ${PYSITELIB}/youtube_dl/extractor/sportdeutschland.pyo
+${PYSITELIB}/youtube_dl/extractor/spreaker.py
+${PYSITELIB}/youtube_dl/extractor/spreaker.pyc
+${PYSITELIB}/youtube_dl/extractor/spreaker.pyo
 ${PYSITELIB}/youtube_dl/extractor/springboardplatform.py
 ${PYSITELIB}/youtube_dl/extractor/springboardplatform.pyc
 ${PYSITELIB}/youtube_dl/extractor/springboardplatform.pyo
diff -r 6ae1615d2b98 -r d16fade7b7c8 net/youtube-dl/distinfo
--- a/net/youtube-dl/distinfo   Wed Nov 25 22:59:26 2020 +0000
+++ b/net/youtube-dl/distinfo   Thu Nov 26 09:15:38 2020 +0000
@@ -1,10 +1,9 @@
-$NetBSD: distinfo,v 1.201 2020/11/18 17:35:15 leot Exp $
+$NetBSD: distinfo,v 1.202 2020/11/26 09:15:38 leot Exp $
 
-SHA1 (youtube-dl-2020.11.18.tar.gz) = e1b922ebc543f35ea7ee3de7e28e8deea7b97914
-RMD160 (youtube-dl-2020.11.18.tar.gz) = e526d2c4f297390cba92ae91d70223e9be3171e6
-SHA512 (youtube-dl-2020.11.18.tar.gz) = 110de857759b4c4bd0160242adebb3d8690bda2203a28a7b1a2ac1cdd9bca058702fd0b323010629e74bbb2df38f50c67b710bc2a6ad4cc907827ee013d0dbcf
-Size (youtube-dl-2020.11.18.tar.gz) = 3186065 bytes
+SHA1 (youtube-dl-2020.11.26.tar.gz) = 39ce2cbad9f751a57068d8246fa00854c23c02b9
+RMD160 (youtube-dl-2020.11.26.tar.gz) = 9377cb4afbe8ad4e7d47978ea37d98efaf7b2e27
+SHA512 (youtube-dl-2020.11.26.tar.gz) = 126c299c3db654ad3c88ced44bfc1a34bd73a439d8d3fd64720bb5d06fe84df817182a9e0b38d1def2eb4f1de26c7e2b8b6d3d6b4282f973db548c9868938a41
+Size (youtube-dl-2020.11.26.tar.gz) = 3218922 bytes
 SHA1 (patch-setup.py) = a67074ae7cfe5e77847c2f610337ea553eddb69b
 SHA1 (patch-youtube__dl_extractor_la7.py) = 6c579f96e7ace1b64ef25fe8788b40bc4e7e67dd
-SHA1 (patch-youtube__dl_extractor_rai.py) = 5ec18da74c46f2195fe814d61ca044df4b70cc45
 SHA1 (patch-youtube__dl_postprocessor_ffmpeg.py) = f96676170a448d9205d542a7def4beca615a1490
diff -r 6ae1615d2b98 -r d16fade7b7c8 net/youtube-dl/patches/patch-youtube__dl_extractor_rai.py
--- a/net/youtube-dl/patches/patch-youtube__dl_extractor_rai.py Wed Nov 25 22:59:26 2020 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,220 +0,0 @@
-$NetBSD: patch-youtube__dl_extractor_rai.py,v 1.3 2020/11/18 17:35:15 leot Exp $
-
-[rai] Fix extraction for recent raiplay.it updates
-
-- Introduce _BASE_URL in RaiBaseIE class so it could be reused as base for the
-  several subextractors.
-- Remove first test of RaiPlayIE: it is no longer available
-- Make RaiPlayIE extension-agnostic (passing possible `.json' URLs is now
-  supported too)
-- Adjust RaiPlayLiveIE to recent raiplay.it updates.  Passing it as
-  `url_transparent' is no longer supported (there is no longer an accessible
-  ContentItem)
-- Adjust RaiPlayPlaylistIE to recent raiplay.it updates and instruct it about
-  ContentSet-s.
-- Update a RaiIE test and remove two tests that are no longer availables
-
-This fix issue #22923, #22906 and supersedes #23006 and #23040.
-
-Shared upstream via:
-
- https://github.com/ytdl-org/youtube-dl/pull/27077
-
---- youtube_dl/extractor/rai.py.orig   2020-11-16 21:04:10.000000000 +0000
-+++ youtube_dl/extractor/rai.py
-@@ -17,7 +17,6 @@ from ..utils import (
-     int_or_none,
-     parse_duration,
-     strip_or_none,
--    unescapeHTML,
-     unified_strdate,
-     unified_timestamp,
-     update_url_query,
-@@ -30,6 +29,7 @@ class RaiBaseIE(InfoExtractor):
-     _UUID_RE = r'[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}'
-     _GEO_COUNTRIES = ['IT']
-     _GEO_BYPASS = False
-+    _BASE_URL = 'https://www.raiplay.it'
- 
-     def _extract_relinker_info(self, relinker_url, video_id):
-         if not re.match(r'https?://', relinker_url):
-@@ -122,27 +122,8 @@ class RaiBaseIE(InfoExtractor):
- 
- 
- class RaiPlayIE(RaiBaseIE):
--    _VALID_URL = r'(?P<url>https?://(?:www\.)?raiplay\.it/.+?-(?P<id>%s)\.html)' % RaiBaseIE._UUID_RE
-+    _VALID_URL = r'(?P<url>(?P<base>https?://(?:www\.)?raiplay\.it/.+?-)(?P<id>%s)(?P<ext>\.(?:html|json)))' % RaiBaseIE._UUID_RE
-     _TESTS = [{
--        'url': 'http://www.raiplay.it/video/2016/10/La-Casa-Bianca-e06118bb-59a9-4636-b914-498e4cfd2c66.html?source=twitter',
--        'md5': '340aa3b7afb54bfd14a8c11786450d76',
--        'info_dict': {
--            'id': 'e06118bb-59a9-4636-b914-498e4cfd2c66',
--            'ext': 'mp4',
--            'title': 'La Casa Bianca',
--            'alt_title': 'S2016 - Puntata del 23/10/2016',
--            'description': 'md5:a09d45890850458077d1f68bb036e0a5',
--            'thumbnail': r're:^https?://.*\.jpg$',
--            'uploader': 'Rai 3',
--            'creator': 'Rai 3',
--            'duration': 3278,
--            'timestamp': 1477764300,
--            'upload_date': '20161029',
--            'series': 'La Casa Bianca',
--            'season': '2016',
--        },
--        'skip': 'This content is not available',
--    }, {
-         'url': 'http://www.raiplay.it/video/2014/04/Report-del-07042014-cb27157f-9dd0-4aee-b788-b1f67643a391.html',
-         'md5': '8970abf8caf8aef4696e7b1f2adfc696',
-         'info_dict': {
-@@ -166,10 +147,11 @@ class RaiPlayIE(RaiBaseIE):
-     }]
- 
-     def _real_extract(self, url):
--        url, video_id = re.match(self._VALID_URL, url).groups()
-+        mobj = re.match(self._VALID_URL, url)
-+        url, base, video_id, ext = mobj.group('url', 'base', 'id', 'ext')
- 
-         media = self._download_json(
--            url.replace('.html', '.json'), video_id, 'Downloading video JSON')
-+            '%s%s.json' % (base, video_id), video_id, 'Downloading video JSON')
- 
-         title = media['name']
- 
-@@ -227,7 +209,7 @@ class RaiPlayLiveIE(RaiBaseIE):
-             'display_id': 'rainews24',
-             'ext': 'mp4',
-             'title': 're:^Diretta di Rai News 24 [0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}$',
--            'description': 'md5:6eca31500550f9376819f174e5644754',
-+            'description': 'md5:4d00bcf6dc98b27c6ec480de329d1497',
-             'uploader': 'Rai News 24',
-             'creator': 'Rai News 24',
-             'is_live': True,
-@@ -240,20 +222,32 @@ class RaiPlayLiveIE(RaiBaseIE):
-     def _real_extract(self, url):
-         display_id = self._match_id(url)
- 
--        webpage = self._download_webpage(url, display_id)
-+        media = self._download_json(
-+            '%s.json' % urljoin(RaiBaseIE._BASE_URL, 'dirette/' + display_id),
-+            display_id, 'Downloading channel JSON')
-+
-+        title = media['name']
-+        video = media['video']
-+        video_id = media['id'].replace('ContentItem-', '')
-+
-+        relinker_info = self._extract_relinker_info(video['content_url'], video_id)
-+        self._sort_formats(relinker_info['formats'])
- 
--        video_id = self._search_regex(
--            r'data-uniquename=["\']ContentItem-(%s)' % RaiBaseIE._UUID_RE,
--            webpage, 'content id')
--
--        return {
--            '_type': 'url_transparent',
--            'ie_key': RaiPlayIE.ie_key(),
--            'url': 'http://www.raiplay.it/dirette/ContentItem-%s.html' % video_id,
-+        info = {
-             'id': video_id,
-             'display_id': display_id,
-+            'title': self._live_title(title) if relinker_info.get(
-+                'is_live') else title,
-+            'alt_title': media.get('subtitle'),
-+            'description': media.get('description'),
-+            'uploader': strip_or_none(media.get('channel')),
-+            'creator': strip_or_none(media.get('editor')),
-+            'duration': parse_duration(video.get('duration')),
-         }
- 
-+        info.update(relinker_info)
-+        return info
-+
- 
- class RaiPlayPlaylistIE(InfoExtractor):
-     _VALID_URL = r'https?://(?:www\.)?raiplay\.it/programmi/(?P<id>[^/?#&]+)'
-@@ -262,7 +256,7 @@ class RaiPlayPlaylistIE(InfoExtractor):
-         'info_dict': {
-             'id': 'nondirloalmiocapo',
-             'title': 'Non dirlo al mio capo',
--            'description': 'md5:9f3d603b2947c1c7abb098f3b14fac86',
-+            'description': 'md5:98ab6b98f7f44c2843fd7d6f045f153b',
-         },
-         'playlist_mincount': 12,
-     }]
-@@ -270,21 +264,25 @@ class RaiPlayPlaylistIE(InfoExtractor):
-     def _real_extract(self, url):
-         playlist_id = self._match_id(url)
- 
--        webpage = self._download_webpage(url, playlist_id)
-+        media = self._download_json(
-+            '%s.json' % urljoin(RaiBaseIE._BASE_URL, 'programmi/' + playlist_id),
-+            playlist_id, 'Downloading program JSON')
- 
--        title = self._html_search_meta(
--            ('programma', 'nomeProgramma'), webpage, 'title')
--        description = unescapeHTML(self._html_search_meta(
--            ('description', 'og:description'), webpage, 'description'))
-+        title = media['name']
-+        description = media['program_info']['description']
-+
-+        content_sets = [s['id'] for b in media['blocks'] for s in b['sets']]
- 
-         entries = []
--        for mobj in re.finditer(
--                r'<a\b[^>]+\bhref=(["\'])(?P<path>/raiplay/video/.+?)\1',
--                webpage):
--            video_url = urljoin(url, mobj.group('path'))
--            entries.append(self.url_result(
--                video_url, ie=RaiPlayIE.ie_key(),
--                video_id=RaiPlayIE._match_id(video_url)))
-+        for cs in content_sets:
-+            medias = self._download_json(
-+                '%s/%s.json' % (urljoin(RaiBaseIE._BASE_URL, 'programmi/' + playlist_id), cs),
-+                cs, 'Downloading content set JSON')
-+            for m in medias['items']:
-+                video_url = urljoin(url, m['path_id'])
-+                entries.append(self.url_result(
-+                    video_url, ie=RaiPlayIE.ie_key(),
-+                    video_id=RaiPlayIE._match_id(video_url)))
- 
-         return self.playlist_result(entries, playlist_id, title, description)
- 
-@@ -330,19 +328,6 @@ class RaiIE(RaiBaseIE):
-             'upload_date': '20161103',
-         }



Home | Main Index | Thread Index | Old Index