--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: unblock: youtube-dl/2019.01.17-1.1
- From: Antoine Beaupre <anarcat@debian.org>
- Date: Sat, 27 Apr 2019 17:14:46 -0400
- Message-id: <155639968615.5147.790167513033439681.reportbug@angela.anarc.at>
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Please unblock package youtube-dl
youtube-dl, as often happens, has already lagged behind the youtube
interface and cannot download stuff from there at all (RC bug #927862)
The attached patch (provided by carnil) fixes the issue.
unblock youtube-dl/2019.01.17-1.1
-- System Information:
Debian Release: 9.8
APT prefers stable
APT policy: (500, 'stable'), (1, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 4.9.0-8-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_CA.UTF-8, LC_CTYPE=fr_CA.UTF-8 (charmap=UTF-8), LANGUAGE=fr_CA.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff -Nru youtube-dl-2019.01.17/debian/changelog youtube-dl-2019.01.17/debian/changelog
--- youtube-dl-2019.01.17/debian/changelog 2019-01-21 09:13:04.000000000 -0500
+++ youtube-dl-2019.01.17/debian/changelog 2019-04-27 17:03:56.000000000 -0400
@@ -1,3 +1,10 @@
+youtube-dl (2019.01.17-1.1) unstable; urgency=medium
+
+ [ Salvatore Bonaccorso ]
+ * Fix extraction from youtube. (Closes: #927862)
+
+ -- Antoine Beaupré <anarcat@debian.org> Sat, 27 Apr 2019 17:03:56 -0400
+
youtube-dl (2019.01.17-1) unstable; urgency=medium
* New upstream version 2019.01.17.
diff -Nru youtube-dl-2019.01.17/debian/patches/series youtube-dl-2019.01.17/debian/patches/series
--- youtube-dl-2019.01.17/debian/patches/series 2019-01-21 09:02:28.000000000 -0500
+++ youtube-dl-2019.01.17/debian/patches/series 2019-04-27 17:03:56.000000000 -0400
@@ -1,2 +1,3 @@
skip_support_file_installation.patch
disable-autoupdate-mechanism.patch
+youtube-Fix-extraction.patch
diff -Nru youtube-dl-2019.01.17/debian/patches/youtube-Fix-extraction.patch youtube-dl-2019.01.17/debian/patches/youtube-Fix-extraction.patch
--- youtube-dl-2019.01.17/debian/patches/youtube-Fix-extraction.patch 1969-12-31 19:00:00.000000000 -0500
+++ youtube-dl-2019.01.17/debian/patches/youtube-Fix-extraction.patch 2019-04-27 17:03:56.000000000 -0400
@@ -0,0 +1,44 @@
+From: =?UTF-8?q?Sergey=20M=E2=80=A4?= <dstftw@gmail.com>
+Date: Wed, 24 Apr 2019 09:58:00 +0700
+Subject: [youtube] Fix extraction (closes #20758, closes #20759, closes
+ #20761, closes #20762, closes #20764, closes #20766, closes #20767, closes
+ #20769, closes #20771, closes #20768, closes #20770)
+Origin: https://github.com/ytdl-org/youtube-dl/commit/56667d622c3f6e7594a04f8cd5f4371875940725
+Bug-Debian: https://bugs.debian.org/927862
+
+---
+ youtube_dl/extractor/youtube.py | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+--- a/youtube_dl/extractor/youtube.py
++++ b/youtube_dl/extractor/youtube.py
+@@ -1648,7 +1648,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor
+ view_count = extract_view_count(get_video_info)
+ if not video_info:
+ video_info = get_video_info
+- if 'token' in get_video_info:
++ get_token = get_video_info.get('token') or get_video_info.get('account_playback_token')
++ if get_token:
+ # Different get_video_info requests may report different results, e.g.
+ # some may report video unavailability, but some may serve it without
+ # any complaint (see https://github.com/rg3/youtube-dl/issues/7362,
+@@ -1658,7 +1659,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor
+ # due to YouTube measures against IP ranges of hosting providers.
+ # Working around by preferring the first succeeded video_info containing
+ # the token if no such video_info yet was found.
+- if 'token' not in video_info:
++ token = video_info.get('token') or video_info.get('account_playback_token')
++ if not token:
+ video_info = get_video_info
+ break
+
+@@ -1667,7 +1669,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor
+ r'(?s)<h1[^>]+id="unavailable-message"[^>]*>(.+?)</h1>',
+ video_webpage, 'unavailable message', default=None)
+
+- if 'token' not in video_info:
++ token = video_info.get('token') or video_info.get('account_playback_token')
++ if not token:
+ if 'reason' in video_info:
+ if 'The uploader has not made this video available in your country.' in video_info['reason']:
+ regions_allowed = self._html_search_meta(
--- End Message ---