Hello community,
here is the log from the commit of package youtube-dl for openSUSE:Factory checked in at 2018-08-06 11:54:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/youtube-dl (Old)
and /work/SRC/openSUSE:Factory/.youtube-dl.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "youtube-dl"
Mon Aug 6 11:54:32 2018 rev:81 rq:627539 version:2018.08.04
Changes:
--------
--- /work/SRC/openSUSE:Factory/youtube-dl/python-youtube-dl.changes 2018-07-31 16:02:18.043842186 +0200
+++ /work/SRC/openSUSE:Factory/.youtube-dl.new/python-youtube-dl.changes 2018-08-06 11:54:35.645277323 +0200
@@ -1,0 +2,6 @@
+Sun Aug 5 16:27:35 UTC 2018 - jengelh@inai.de
+
+- Update to new upstream release 2018.08.04
+ * viqeo: add extractor
+
+-------------------------------------------------------------------
youtube-dl.changes: same change
Old:
----
youtube-dl-2018.07.29.tar.gz
youtube-dl-2018.07.29.tar.gz.sig
New:
----
youtube-dl-2018.08.04.tar.gz
youtube-dl-2018.08.04.tar.gz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-youtube-dl.spec ++++++
--- /var/tmp/diff_new_pack.zefbrn/_old 2018-08-06 11:54:36.481278775 +0200
+++ /var/tmp/diff_new_pack.zefbrn/_new 2018-08-06 11:54:36.485278782 +0200
@@ -19,7 +19,7 @@
%define modname youtube-dl
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-youtube-dl
-Version: 2018.07.29
+Version: 2018.08.04
Release: 0
Summary: A python module for downloading from video sites for offline watching
License: SUSE-Public-Domain AND CC-BY-SA-3.0
++++++ youtube-dl.spec ++++++
--- /var/tmp/diff_new_pack.zefbrn/_old 2018-08-06 11:54:36.501278810 +0200
+++ /var/tmp/diff_new_pack.zefbrn/_new 2018-08-06 11:54:36.501278810 +0200
@@ -17,7 +17,7 @@
Name: youtube-dl
-Version: 2018.07.29
+Version: 2018.08.04
Release: 0
Summary: A tool for downloading from video sites for offline watching
License: SUSE-Public-Domain AND CC-BY-SA-3.0
++++++ youtube-dl-2018.07.29.tar.gz -> youtube-dl-2018.08.04.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/youtube-dl/ChangeLog new/youtube-dl/ChangeLog
--- old/youtube-dl/ChangeLog 2018-07-29 02:02:14.000000000 +0200
+++ new/youtube-dl/ChangeLog 2018-08-03 20:23:21.000000000 +0200
@@ -1,3 +1,15 @@
+version 2018.08.04
+
+Extractors
+* [funk:channel] Improve byChannelAlias extraction (#17142)
+* [twitch] Fix authentication (#17024, #17126)
+* [twitch:vod] Improve URL regular expression (#17135)
+* [watchbox] Fix extraction (#17107)
+* [pbs] Fix extraction (#17109)
+* [theplatform] Relax URL regular expression (#16181, #17097)
++ [viqeo] Add support for viqeo.tv (#17066)
+
+
version 2018.07.29
Extractors
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/youtube-dl/docs/supportedsites.md new/youtube-dl/docs/supportedsites.md
--- old/youtube-dl/docs/supportedsites.md 2018-07-29 02:02:18.000000000 +0200
+++ new/youtube-dl/docs/supportedsites.md 2018-08-03 20:23:24.000000000 +0200
@@ -1001,6 +1001,7 @@
- **Vimple**: Vimple - one-click video hosting
- **Vine**
- **vine:user**
+ - **Viqeo**
- **Viu**
- **viu:ott**
- **viu:playlist**
Binary files old/youtube-dl/youtube-dl and new/youtube-dl/youtube-dl differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/youtube-dl/youtube_dl/extractor/extractors.py new/youtube-dl/youtube_dl/extractor/extractors.py
--- old/youtube-dl/youtube_dl/extractor/extractors.py 2018-07-29 02:01:03.000000000 +0200
+++ new/youtube-dl/youtube_dl/extractor/extractors.py 2018-07-29 02:08:35.000000000 +0200
@@ -1291,6 +1291,7 @@
VikiIE,
VikiChannelIE,
)
+from .viqeo import ViqeoIE
from .viu import (
ViuIE,
ViuPlaylistIE,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/youtube-dl/youtube_dl/extractor/funk.py new/youtube-dl/youtube_dl/extractor/funk.py
--- old/youtube-dl/youtube_dl/extractor/funk.py 2018-07-29 02:00:53.000000000 +0200
+++ new/youtube-dl/youtube_dl/extractor/funk.py 2018-07-29 02:08:35.000000000 +0200
@@ -1,6 +1,7 @@
# coding: utf-8
from __future__ import unicode_literals
+import itertools
import re
from .common import InfoExtractor
@@ -125,17 +126,31 @@
# Id-based channels are currently broken on their side: webplayer
# tries to process them via byChannelAlias endpoint and fails
# predictably.
- by_channel_alias = self._download_json(
- 'https://www.funk.net/api/v3.1/webapp/videos/byChannelAlias/%s'
- % channel_id,
- 'Downloading byChannelAlias JSON', headers=headers, query={
- 'size': 100,
- }, fatal=False)
- if by_channel_alias:
+ for page_num in itertools.count():
+ by_channel_alias = self._download_json(
+ 'https://www.funk.net/api/v3.1/webapp/videos/byChannelAlias/%s'
+ % channel_id,
+ 'Downloading byChannelAlias JSON page %d' % (page_num + 1),
+ headers=headers, query={
+ 'filterFsk': 'false',
+ 'sort': 'creationDate,desc',
+ 'size': 100,
+ 'page': page_num,
+ }, fatal=False)
+ if not by_channel_alias:
+ break
video_list = try_get(
by_channel_alias, lambda x: x['_embedded']['videoList'], list)
- if video_list:
+ if not video_list:
+ break
+ try:
video = next(r for r in video_list if r.get('alias') == alias)
+ break
+ except StopIteration:
+ pass
+ if not try_get(
+ by_channel_alias, lambda x: x['_links']['next']):
+ break
if not video:
by_id_list = self._download_json(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/youtube-dl/youtube_dl/extractor/generic.py new/youtube-dl/youtube_dl/extractor/generic.py
--- old/youtube-dl/youtube_dl/extractor/generic.py 2018-07-29 02:00:53.000000000 +0200
+++ new/youtube-dl/youtube_dl/extractor/generic.py 2018-07-29 02:08:35.000000000 +0200
@@ -113,6 +113,7 @@
from .indavideo import IndavideoEmbedIE
from .apa import APAIE
from .foxnews import FoxNewsIE
+from .viqeo import ViqeoIE
class GenericIE(InfoExtractor):
@@ -2060,6 +2061,15 @@
},
'skip': 'TODO: fix nested playlists processing in tests',
},
+ {
+ # Viqeo embeds
+ 'url': 'https://viqeo.tv/',
+ 'info_dict': {
+ 'id': 'viqeo',
+ 'title': 'All-new video platform',
+ },
+ 'playlist_count': 6,
+ },
# {
# # TODO: find another test
# # http://schema.org/VideoObject
@@ -3094,6 +3104,11 @@
return self.playlist_from_matches(
sharevideos_urls, video_id, video_title)
+ viqeo_urls = ViqeoIE._extract_urls(webpage)
+ if viqeo_urls:
+ return self.playlist_from_matches(
+ viqeo_urls, video_id, video_title, ie=ViqeoIE.ie_key())
+
# Look for HTML5 media
entries = self._parse_html5_media_entries(url, webpage, video_id, m3u8_id='hls')
if entries:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/youtube-dl/youtube_dl/extractor/pbs.py new/youtube-dl/youtube_dl/extractor/pbs.py
--- old/youtube-dl/youtube_dl/extractor/pbs.py 2018-07-29 02:00:53.000000000 +0200
+++ new/youtube-dl/youtube_dl/extractor/pbs.py 2018-07-29 02:08:35.000000000 +0200
@@ -15,6 +15,7 @@
strip_jsonp,
strip_or_none,
unified_strdate,
+ url_or_none,
US_RATINGS,
)
@@ -557,6 +558,13 @@
if redirect_url and redirect_url not in redirect_urls:
redirects.append(redirect)
redirect_urls.add(redirect_url)
+ encodings = info.get('encodings')
+ if isinstance(encodings, list):
+ for encoding in encodings:
+ encoding_url = url_or_none(encoding)
+ if encoding_url and encoding_url not in redirect_urls:
+ redirects.append({'url': encoding_url})
+ redirect_urls.add(encoding_url)
chapters = []
# Player pages may also serve different qualities
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/youtube-dl/youtube_dl/extractor/theplatform.py new/youtube-dl/youtube_dl/extractor/theplatform.py
--- old/youtube-dl/youtube_dl/extractor/theplatform.py 2018-07-29 02:00:54.000000000 +0200
+++ new/youtube-dl/youtube_dl/extractor/theplatform.py 2018-07-29 02:08:35.000000000 +0200
@@ -310,7 +310,7 @@
class ThePlatformFeedIE(ThePlatformBaseIE):
_URL_TEMPLATE = '%s//feed.theplatform.com/f/%s/%s?form=json&%s'
- _VALID_URL = r'https?://feed\.theplatform\.com/f/(?P