Hello community, here is the log from the commit of package you-get for openSUSE:Factory checked in at 2018-09-11 17:18:03 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/you-get (Old) and /work/SRC/openSUSE:Factory/.you-get.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "you-get" Tue Sep 11 17:18:03 2018 rev:10 rq:634464 version:0.4.1140 Changes: -------- --- /work/SRC/openSUSE:Factory/you-get/you-get.changes 2018-08-12 20:55:05.969433933 +0200 +++ /work/SRC/openSUSE:Factory/.you-get.new/you-get.changes 2018-09-11 17:18:10.695329035 +0200 @@ -1,0 +2,5 @@ +Sat Sep 8 11:44:26 UTC 2018 - [email protected] + +- Update to version 0.4.1140 (no changelog supplied) + +------------------------------------------------------------------- Old: ---- you-get-0.4.1128.tar.gz New: ---- you-get-0.4.1140.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ you-get.spec ++++++ --- /var/tmp/diff_new_pack.pQUEdi/_old 2018-09-11 17:18:11.235328208 +0200 +++ /var/tmp/diff_new_pack.pQUEdi/_new 2018-09-11 17:18:11.235328208 +0200 @@ -17,7 +17,7 @@ Name: you-get -Version: 0.4.1128 +Version: 0.4.1140 Release: 0 Summary: Dumb downloader that scrapes the web License: MIT ++++++ you-get-0.4.1128.tar.gz -> you-get-0.4.1140.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/you-get-0.4.1128/src/you_get/extractors/baidu.py new/you-get-0.4.1140/src/you_get/extractors/baidu.py --- old/you-get-0.4.1128/src/you_get/extractors/baidu.py 2018-08-10 16:40:12.000000000 +0200 +++ new/you-get-0.4.1140/src/you_get/extractors/baidu.py 2018-09-08 00:48:10.000000000 +0200 @@ -129,8 +129,9 @@ html = get_html(url) title = r1(r'title:"([^"]+)"', html) - vhsrc = re.findall(r'"BDE_Image"[^>]+src="([^"]+)"', html) or re.findall(r'vhsrc="([^"]+)"', html) - if vhsrc is not None: + vhsrc = re.findall(r'"BDE_Image"[^>]+src="([^"]+\.mp4)"', html) or \ + re.findall(r'vhsrc="([^"]+)"', html) + if len(vhsrc) > 0: ext = 'mp4' size = url_size(vhsrc[0]) print_info(site_info, title, ext, size) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/you-get-0.4.1128/src/you_get/extractors/bilibili.py new/you-get-0.4.1140/src/you_get/extractors/bilibili.py --- old/you-get-0.4.1128/src/you_get/extractors/bilibili.py 2018-08-10 16:40:12.000000000 +0200 +++ new/you-get-0.4.1140/src/you_get/extractors/bilibili.py 2018-09-08 00:48:10.000000000 +0200 @@ -144,11 +144,13 @@ else: playinfo = re.search(r'__INITIAL_STATE__=(.*?);\(function\(\)', self.page) if playinfo is not None: - pages = json.loads(playinfo.group(1))['videoData']['pages'] - if len(pages) > 1: - qs = dict(parse.parse_qsl(urllib.parse.urlparse(self.url).query)) - page = pages[int(qs.get('p', 1)) - 1] - self.title = '{} #{}. {}'.format(self.title, page['page'], page['part']) + jsonPlayinfo = json.loads(playinfo.group(1)) + if 'videoData' in jsonPlayinfo: + pages = jsonPlayinfo['videoData']['pages'] + if len(pages) > 1: + qs = dict(parse.parse_qsl(urllib.parse.urlparse(self.url).query)) + page = pages[int(qs.get('p', 1)) - 1] + self.title = '{} #{}. {}'.format(self.title, page['page'], page['part']) if 'bangumi.bilibili.com/movie' in self.url: self.movie_entry(**kwargs) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/you-get-0.4.1128/src/you_get/extractors/lizhi.py new/you-get-0.4.1140/src/you_get/extractors/lizhi.py --- old/you-get-0.4.1128/src/you_get/extractors/lizhi.py 2018-08-10 16:40:12.000000000 +0200 +++ new/you-get-0.4.1140/src/you_get/extractors/lizhi.py 2018-09-08 00:48:10.000000000 +0200 @@ -2,8 +2,17 @@ __all__ = ['lizhi_download'] import json +import datetime from ..common import * +# +# Worked well but not perfect. +# TODO: add option --format={sd|hd} +# +def get_url(ep): + readable = datetime.datetime.fromtimestamp(int(ep['create_time']) / 1000).strftime('%Y/%m/%d') + return 'http://cdn5.lizhi.fm/audio/{}/{}_hd.mp3'.format(readable, ep['id']) + # radio_id: e.g. 549759 from http://www.lizhi.fm/549759/ # # Returns a list of tuples (audio_id, title, url) for each episode @@ -23,7 +32,7 @@ # (au_cnt), then handle pagination properly. api_url = 'http://www.lizhi.fm/api/radio_audios?s=0&l=65535&band=%s' % radio_id api_response = json.loads(get_content(api_url)) - return [(ep['id'], ep['name'], ep['url']) for ep in api_response] + return [(ep['id'], ep['name'], get_url(ep)) for ep in api_response] def lizhi_download_audio(audio_id, title, url, output_dir='.', info_only=False): filetype, ext, size = url_info(url) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/you-get-0.4.1128/src/you_get/extractors/twitter.py new/you-get-0.4.1140/src/you_get/extractors/twitter.py --- old/you-get-0.4.1128/src/you_get/extractors/twitter.py 2018-08-10 16:40:12.000000000 +0200 +++ new/you-get-0.4.1140/src/you_get/extractors/twitter.py 2018-09-08 00:48:10.000000000 +0200 @@ -30,9 +30,9 @@ return html = get_html(url, faker=True) - screen_name = r1(r'data-screen-name="([^"]*)"', html) or \ + screen_name = r1(r'twitter\.com/([^/]+)', url) or r1(r'data-screen-name="([^"]*)"', html) or \ r1(r'<meta name="twitter:title" content="([^"]*)"', html) - item_id = r1(r'data-item-id="([^"]*)"', html) or \ + item_id = r1(r'twitter\.com/[^/]+/status/(\d+)', url) or r1(r'data-item-id="([^"]*)"', html) or \ r1(r'<meta name="twitter:site:id" content="([^"]*)"', html) page_title = "{} [{}]".format(screen_name, item_id) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/you-get-0.4.1128/src/you_get/extractors/youku.py new/you-get-0.4.1140/src/you_get/extractors/youku.py --- old/you-get-0.4.1128/src/you_get/extractors/youku.py 2018-08-10 16:40:12.000000000 +0200 +++ new/you-get-0.4.1140/src/you_get/extractors/youku.py 2018-09-08 00:48:10.000000000 +0200 @@ -78,7 +78,7 @@ self.api_error_code = None self.api_error_msg = None - self.ccode = '0508' + self.ccode = '0516' # 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.1128/src/you_get/extractors/youtube.py new/you-get-0.4.1140/src/you_get/extractors/youtube.py --- old/you-get-0.4.1128/src/you_get/extractors/youtube.py 2018-08-10 16:40:12.000000000 +0200 +++ new/you-get-0.4.1140/src/you_get/extractors/youtube.py 2018-09-08 00:48:10.000000000 +0200 @@ -37,6 +37,9 @@ ] def decipher(js, s): + # Examples: + # - https://www.youtube.com/yts/jsbin/player-da_DK-vflWlK-zq/base.js + # - https://www.youtube.com/yts/jsbin/player-vflvABTsY/da_DK/base.js def tr_js(code): code = re.sub(r'function', r'def', code) code = re.sub(r'(\W)(as|if|in|is|or)\(', r'\1_\2(', code) @@ -52,7 +55,8 @@ return code js = js.replace('\n', ' ') - f1 = match1(js, r'"signature",([$\w]+)\(\w+\.\w+\)') + f1 = match1(js, r'\.set\(\w+\.sp,([$\w]+)\(\w+\.s\)\)') or \ + match1(js, r'"signature",([$\w]+)\(\w+\.\w+\)') f1def = match1(js, r'function %s(\(\w+\)\{[^\{]+\})' % re.escape(f1)) or \ match1(js, r'\W%s=function(\(\w+\)\{[^\{]+\})' % re.escape(f1)) f1def = re.sub(r'([$\w]+\.)([$\w]+\(\w+,\d+\))', r'\2', f1def) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/you-get-0.4.1128/src/you_get/util/os.py new/you-get-0.4.1140/src/you_get/util/os.py --- old/you-get-0.4.1128/src/you_get/util/os.py 2018-08-10 16:40:12.000000000 +0200 +++ new/you-get-0.4.1140/src/you_get/util/os.py 2018-09-08 00:48:10.000000000 +0200 @@ -19,9 +19,11 @@ elif 'linux' in syst: os = 'linux' # detect WSL https://github.com/Microsoft/BashOnWindows/issues/423 - with open('/proc/version', 'r') as f: - if 'microsoft' in f.read().lower(): - os = 'wsl' + try: + with open('/proc/version', 'r') as f: + if 'microsoft' in f.read().lower(): + os = 'wsl' + except: pass elif 'windows' in syst: os = 'windows' elif 'bsd' in syst: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/you-get-0.4.1128/src/you_get/version.py new/you-get-0.4.1140/src/you_get/version.py --- old/you-get-0.4.1128/src/you_get/version.py 2018-08-10 16:40:12.000000000 +0200 +++ new/you-get-0.4.1140/src/you_get/version.py 2018-09-08 00:48:10.000000000 +0200 @@ -1,4 +1,4 @@ #!/usr/bin/env python script_name = 'you-get' -__version__ = '0.4.1128' +__version__ = '0.4.1140' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/you-get-0.4.1128/tests/test.py new/you-get-0.4.1140/tests/test.py --- old/you-get-0.4.1128/tests/test.py 2018-08-10 16:40:12.000000000 +0200 +++ new/you-get-0.4.1140/tests/test.py 2018-09-08 00:48:10.000000000 +0200 @@ -31,14 +31,5 @@ info_only=True ) - def test_bilibili(self): - bilibili.download( - 'https://www.bilibili.com/video/av16907446/', info_only=True - ) - bilibili.download( - 'https://www.bilibili.com/video/av13228063/', info_only=True - ) - - if __name__ == '__main__': unittest.main()
