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 <[email protected]> + +- 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"<meta\s+property=\"og:video:url\"\s+content=\"(.+?)\"/>", 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('<a href="(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'
