Hello community,
here is the log from the commit of package you-get for openSUSE:Factory checked in at 2019-08-05 10:40:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/you-get (Old)
and /work/SRC/openSUSE:Factory/.you-get.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "you-get"
Mon Aug 5 10:40:37 2019 rev:24 rq:720628 version:0.4.1328
Changes:
--------
--- /work/SRC/openSUSE:Factory/you-get/you-get.changes 2019-06-12 13:18:20.172578044 +0200
+++ /work/SRC/openSUSE:Factory/.you-get.new.4126/you-get.changes 2019-08-05 10:41:07.979300549 +0200
@@ -1,0 +2,5 @@
+Fri Aug 2 12:03:54 UTC 2019 - Luigi Baldoni
+
+- Update to version 0.4.1328 (no changelog supplied)
+
+-------------------------------------------------------------------
Old:
----
you-get-0.4.1314.tar.gz
New:
----
you-get-0.4.1328.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ you-get.spec ++++++
--- /var/tmp/diff_new_pack.ggDtxh/_old 2019-08-05 10:41:08.883300446 +0200
+++ /var/tmp/diff_new_pack.ggDtxh/_new 2019-08-05 10:41:08.887300445 +0200
@@ -17,7 +17,7 @@
Name: you-get
-Version: 0.4.1314
+Version: 0.4.1328
Release: 0
Summary: Dumb downloader that scrapes the web
License: MIT
@@ -74,6 +74,8 @@
for f in $(find ./src -name "*.py"); do
sed '0,/^#!/{//d;}' -i ${f}
done
+# fix interpreter
+sed -i 's|^#!/usr/bin/env python3|#!%{_bindir}/python3|' you-get
%build
python3 setup.py build
@@ -81,7 +83,7 @@
%install
python3 setup.py install --root=%{buildroot} --prefix=%{_prefix}
install -m0755 you-get %{buildroot}%{_bindir}
-%fdupes -s %{buildroot}%{$python_sitelib}
+%fdupes -s %{buildroot}%{python3_sitelib}
install -Dm644 contrib/completion/you-get-completion.bash %{buildroot}%{_datadir}/bash-completion/completions/you-get
install -Dm644 contrib/completion/you-get.fish %{buildroot}%{_datadir}/fish/completions/you-get.fish
install -Dm644 contrib/completion/_you-get %{buildroot}%{_datadir}/zsh/site-functions/_you-get
++++++ you-get-0.4.1314.tar.gz -> you-get-0.4.1328.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/you-get-0.4.1314/src/you_get/common.py new/you-get-0.4.1328/src/you_get/common.py
--- old/you-get-0.4.1314/src/you_get/common.py 2019-06-11 16:02:36.000000000 +0200
+++ new/you-get-0.4.1328/src/you_get/common.py 2019-08-02 13:30:10.000000000 +0200
@@ -144,7 +144,7 @@
'Accept-Charset': 'UTF-8,*;q=0.5',
'Accept-Encoding': 'gzip,deflate,sdch',
'Accept-Language': 'en-US,en;q=0.8',
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0', # noqa
+ 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0', # noqa
}
if sys.stdout.isatty():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/you-get-0.4.1314/src/you_get/extractors/acfun.py new/you-get-0.4.1328/src/you_get/extractors/acfun.py
--- old/you-get-0.4.1314/src/you_get/extractors/acfun.py 2019-06-11 16:02:36.000000000 +0200
+++ new/you-get-0.4.1328/src/you_get/extractors/acfun.py 2019-08-02 13:30:10.000000000 +0200
@@ -113,11 +113,14 @@
if re.match(r'https?://[^\.]*\.*acfun\.[^\.]+/\D/\D\D(\d+)', url):
html = get_content(url)
- title = r1(r'data-title="([^"]+)"', html)
- if match1(url, r'_(\d+)$'): # current P
- title = title + " " + r1(r'active">([^<]*)', html)
- vid = r1('data-vid="(\d+)"', html)
- up = r1('data-name="([^"]+)"', html)
+ json_text = match1(html, r"(?s)videoInfo\s*=\s*(\{.*?\});")
+ json_data = json.loads(json_text)
+ vid = json_data.get('currentVideoInfo').get('id')
+ up = json_data.get('user').get('name')
+ title = json_data.get('title')
+ video_list = json_data.get('videoList')
+ if len(video_list) > 1:
+ title += " - " + [p.get('title') for p in video_list if p.get('id') == vid][0]
# bangumi
elif re.match("https?://[^\.]*\.*acfun\.[^\.]+/bangumi/ab(\d+)", url):
html = get_content(url)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/you-get-0.4.1314/src/you_get/extractors/ixigua.py new/you-get-0.4.1328/src/you_get/extractors/ixigua.py
--- old/you-get-0.4.1314/src/you_get/extractors/ixigua.py 2019-06-11 16:02:36.000000000 +0200
+++ new/you-get-0.4.1328/src/you_get/extractors/ixigua.py 2019-08-02 13:30:10.000000000 +0200
@@ -81,8 +81,8 @@
def ixigua_download(url, output_dir='.', merge=True, info_only=False, **kwargs):
# example url: https://www.ixigua.com/i6631065141750268420/#mid=63024814422
html = get_html(url, faker=True)
- video_id = match1(html, r"videoId\s*:\s*'([^']+)'")
- title = match1(html, r"title: '(\S+)',")
+ video_id = match1(html, r"\"vid\":\"([^\"]+)")
+ title = match1(html, r"\"title\":\"(\S+?)\",")
if not video_id:
log.e("video_id not found, url:{}".format(url))
return
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/you-get-0.4.1314/src/you_get/extractors/kuaishou.py new/you-get-0.4.1328/src/you_get/extractors/kuaishou.py
--- old/you-get-0.4.1314/src/you_get/extractors/kuaishou.py 2019-06-11 16:02:36.000000000 +0200
+++ new/you-get-0.4.1328/src/you_get/extractors/kuaishou.py 2019-08-02 13:30:10.000000000 +0200
@@ -16,11 +16,14 @@
# size = video_list[-1]['size']
# result wrong size
try:
- og_video_url = re.search(r"", page).group(1)
- video_url = og_video_url
- title = url.split('/')[-1]
+ search_result=re.search(r"\"playUrls\":\[(\{\"quality\"\:\"\w+\",\"url\":\".*?\"\})+\]", page)
+ all_video_info_str = search_result.group(1)
+ all_video_infos=re.findall(r"\{\"quality\"\:\"(\w+)\",\"url\":\"(.*?)\"\}", all_video_info_str)
+ # get the one of the best quality
+ video_url = all_video_infos[0][1].encode("utf-8").decode('unicode-escape')
+ title = re.search(r"<meta charset=UTF-8><title>(.*?)</title>", page).group(1)
size = url_size(video_url)
- video_format = video_url.split('.')[-1]
+ video_format = "flv"#video_url.split('.')[-1]
print_info(site_info, title, video_format, size)
if not info_only:
download_urls([video_url], title, video_format, size, **kwargs)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/you-get-0.4.1314/src/you_get/extractors/kugou.py new/you-get-0.4.1328/src/you_get/extractors/kugou.py
--- old/you-get-0.4.1314/src/you_get/extractors/kugou.py 2019-06-11 16:02:36.000000000 +0200
+++ new/you-get-0.4.1328/src/you_get/extractors/kugou.py 2019-08-02 13:30:10.000000000 +0200
@@ -8,66 +8,72 @@
import re
import hashlib
+
def kugou_download(url, output_dir=".", merge=True, info_only=False, **kwargs):
- if url.lower().find("5sing")!=-1:
- #for 5sing.kugou.com
- html=get_html(url)
- ticket=r1(r'"ticket":\s*"(.*)"',html)
- j=loads(str(b64decode(ticket),encoding="utf-8"))
- url=j['file']
- title=j['songName']
+ if url.lower().find("5sing") != -1:
+ # for 5sing.kugou.com
+ html = get_html(url)
+ ticket = r1(r'"ticket":\s*"(.*)"', html)
+ j = loads(str(b64decode(ticket), encoding="utf-8"))
+ url = j['file']
+ title = j['songName']
songtype, ext, size = url_info(url)
print_info(site_info, title, songtype, size)
if not info_only:
download_urls([url], title, ext, size, output_dir, merge=merge)
- elif url.lower().find("hash")!=-1:
- return kugou_download_by_hash(url,output_dir,merge,info_only)
+ elif url.lower().find("hash") != -1:
+ return kugou_download_by_hash(url, output_dir, merge, info_only)
else:
- #for the www.kugou.com/
+ # for the www.kugou.com/
return kugou_download_playlist(url, output_dir=output_dir, merge=merge, info_only=info_only)
# raise NotImplementedError(url)
-def kugou_download_by_hash(url,output_dir = '.', merge = True, info_only = False):
- #sample
- #url_sample:http://www.kugou.com/song/#hash=93F7D2FC6E95424739448218B591AEAF&album_id=9019462
- hash_val = match1(url,'hash=(\w+)')
- album_id = match1(url,'album_id=(\d+)')
- html = get_html("http://www.kugou.com/yy/index.php?r=play/getdata&hash={}&album_id={}".format(hash_val,album_id))
- j =loads(html)
+def kugou_download_by_hash(url, output_dir='.', merge=True, info_only=False):
+ # sample
+ # url_sample:http://www.kugou.com/song/#hash=93F7D2FC6E95424739448218B591AEAF&album_id=9019462
+ hash_val = match1(url, 'hash=(\w+)')
+ album_id = match1(url, 'album_id=(\d+)')
+ if not album_id:
+ album_id = 123
+ html = get_html("http://www.kugou.com/yy/index.php?r=play/getdata&hash={}&album_id={}&mid=123".format(hash_val, album_id))
+ j = loads(html)
url = j['data']['play_url']
title = j['data']['audio_name']
# some songs cann't play because of copyright protection
- if(url == ''):
+ if (url == ''):
return
songtype, ext, size = url_info(url)
print_info(site_info, title, songtype, size)
if not info_only:
download_urls([url], title, ext, size, output_dir, merge=merge)
-def kugou_download_playlist(url, output_dir = '.', merge = True, info_only = False, **kwargs):
- urls=[]
-
- #download music leaderboard
- #sample: http://www.kugou.com/yy/html/rank.html
- if url.lower().find('rank') !=-1:
- html=get_html(url)
+
+def kugou_download_playlist(url, output_dir='.', merge=True, info_only=False, **kwargs):
+ urls = []
+
+ # download music leaderboard
+ # sample: http://www.kugou.com/yy/html/rank.html
+ if url.lower().find('rank') != -1:
+ html = get_html(url)
pattern = re.compile('http://.*?)" data-active=')
res = pattern.findall(html)
for song in res:
res = get_html(song)
pattern_url = re.compile('"hash":"(\w+)".*"album_id":(\d)+')
- hash_val,album_id= res = pattern_url.findall(res)[0]
- urls.append('http://www.kugou.com/song/#hash=%s&album_id=%s'%(hash_val,album_id))
-
+ hash_val, album_id = res = pattern_url.findall(res)[0]
+ if not album_id:
+ album_id = 123
+ urls.append('http://www.kugou.com/song/#hash=%s&album_id=%s' % (hash_val, album_id))
+
# download album
# album sample: http://www.kugou.com/yy/album/single/1645030.html
- elif url.lower().find('album')!=-1:
+ elif url.lower().find('album') != -1:
html = get_html(url)
pattern = re.compile('var data=(\[.*?\]);')
res = pattern.findall(html)[0]
for v in json.loads(res):
- urls.append('http://www.kugou.com/song/#hash=%s&album_id=%s'%(v['hash'],v['album_id']))
+ urls.append('http://www.kugou.com/song/#hash=%s&album_id=%s' % (v['hash'], v['album_id']))
# download the playlist
# playlist sample:http://www.kugou.com/yy/special/single/487279.html
@@ -75,16 +81,15 @@
html = get_html(url)
pattern = re.compile('data="(\w+)\|(\d+)"')
for v in pattern.findall(html):
- urls.append('http://www.kugou.com/song/#hash=%s&album_id=%s'%(v[0],v[1]))
- print('http://www.kugou.com/song/#hash=%s&album_id=%s'%(v[0],v[1]))
+ urls.append('http://www.kugou.com/song/#hash=%s&album_id=%s' % (v[0], v[1]))
+ print('http://www.kugou.com/song/#hash=%s&album_id=%s' % (v[0], v[1]))
- #download the list by hash
+ # download the list by hash
for url in urls:
- kugou_download_by_hash(url,output_dir,merge,info_only)
+ kugou_download_by_hash(url, output_dir, merge, info_only)
-
site_info = "kugou.com"
download = kugou_download
# download_playlist = playlist_not_supported("kugou")
-download_playlist=kugou_download_playlist
+download_playlist = kugou_download_playlist
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/you-get-0.4.1314/src/you_get/extractors/le.py new/you-get-0.4.1328/src/you_get/extractors/le.py
--- old/you-get-0.4.1314/src/you_get/extractors/le.py 2019-06-11 16:02:36.000000000 +0200
+++ new/you-get-0.4.1328/src/you_get/extractors/le.py 2019-08-02 13:30:10.000000000 +0200
@@ -2,10 +2,10 @@
__all__ = ['letv_download', 'letvcloud_download', 'letvcloud_download_by_vu']
-import json
+import base64
+import hashlib
import random
-import xml.etree.ElementTree as ET
-import base64, hashlib, urllib, time, re
+import urllib
from ..common import *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/you-get-0.4.1314/src/you_get/extractors/youku.py new/you-get-0.4.1328/src/you_get/extractors/youku.py
--- old/you-get-0.4.1314/src/you_get/extractors/youku.py 2019-06-11 16:02:36.000000000 +0200
+++ new/you-get-0.4.1328/src/you_get/extractors/youku.py 2019-08-02 13:30:10.000000000 +0200
@@ -78,7 +78,7 @@
self.api_error_code = None
self.api_error_msg = None
- self.ccode = '0590'
+ self.ccode = '0519'
# Found in http://g.alicdn.com/player/ykplayer/0.5.64/youku-player.min.js
# grep -oE '"[0-9a-zA-Z+/=]{256}"' youku-player.min.js
self.ckey = 'DIl58SLFxFNndSV1GFNnMQVYkx1PP5tKe1siZu/86PR1u/Wh1Ptd+WOZsHHWxysSfAOhNJpdVWsdVJNsfJ8Sxd8WKVvNfAS8aS8fAOzYARzPyPc3JvtnPHjTdKfESTdnuTW6ZPvk2pNDh4uFzotgdMEFkzQ5wZVXl2Pf1/Y6hLK0OnCNxBj3+nb0v72gZ6b0td+WOZsHHWxysSo/0y9D2K42SaB8Y/+aD2K42SaB8Y/+ahU+WOZsHcrxysooUeND'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/you-get-0.4.1314/src/you_get/extractors/youtube.py new/you-get-0.4.1328/src/you_get/extractors/youtube.py
--- old/you-get-0.4.1314/src/you_get/extractors/youtube.py 2019-06-11 16:02:36.000000000 +0200
+++ new/you-get-0.4.1328/src/you_get/extractors/youtube.py 2019-08-02 13:30:10.000000000 +0200
@@ -207,8 +207,7 @@
raise
elif video_info['status'] == ['ok']:
if 'use_cipher_signature' not in video_info or video_info['use_cipher_signature'] == ['False']:
- self.title = parse.unquote_plus(video_info['title'][0])
-
+ self.title = parse.unquote_plus(json.loads(video_info["player_response"][0])["videoDetails"]["title"])
# Parse video page (for DASH)
video_page = get_content('https://www.youtube.com/watch?v=%s' % self.vid)
try:
@@ -229,7 +228,7 @@
video_page = get_content('https://www.youtube.com/watch?v=%s' % self.vid)
ytplayer_config = json.loads(re.search('ytplayer.config\s*=\s*([^\n]+?});', video_page).group(1))
- self.title = ytplayer_config['args']['title']
+ self.title = json.loads(ytplayer_config["args"]["player_response"])["videoDetails"]["title"]
self.html5player = 'https://www.youtube.com' + ytplayer_config['assets']['js']
stream_list = ytplayer_config['args']['url_encoded_fmt_stream_map'].split(',')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/you-get-0.4.1314/src/you_get/version.py new/you-get-0.4.1328/src/you_get/version.py
--- old/you-get-0.4.1314/src/you_get/version.py 2019-06-11 16:02:36.000000000 +0200
+++ new/you-get-0.4.1328/src/you_get/version.py 2019-08-02 13:30:10.000000000 +0200
@@ -1,4 +1,4 @@
#!/usr/bin/env python
script_name = 'you-get'
-__version__ = '0.4.1314'
+__version__ = '0.4.1328'