From 6346a6e4b7c215a6864aaa1c5c868547c16f3c7d Mon Sep 17 00:00:00 2001 From: yfang1644 Date: Thu, 30 Aug 2018 13:07:27 +0800 Subject: [PATCH] update baidu video --- plugin.video.baidu/addon.py | 59 +++++++++++------- .../plugin.video.baidu-1.1.0.zip | Bin 33118 -> 33296 bytes plugin.video.iqiyi/default.py | 4 +- .../plugin.video.iqiyi-2.4.0.zip | Bin 54352 -> 54358 bytes plugin.video.mgtv/lib/mgtv.py | 4 +- plugin.video.rrsp/default.py | 8 +-- plugin.video.sohuvideo/default.py | 4 +- 7 files changed, 45 insertions(+), 34 deletions(-) diff --git a/plugin.video.baidu/addon.py b/plugin.video.baidu/addon.py index 8800f17..c457298 100644 --- a/plugin.video.baidu/addon.py +++ b/plugin.video.baidu/addon.py @@ -1,31 +1,35 @@ #!/usr/bin/python #coding=utf-8 -from xbmcswift2 import Plugin, xbmc, ListItem +from xbmcswift2 import Plugin, xbmc, xbmcgui, ListItem import re -from urllib import quote_plus, unquote_plus, urlencode +import urlparse +from urllib import unquote_plus, urlencode from common import get_html -from iqiyi import IQiyi -from qq import QQ -from youku import Youku -from pptv import PPTV -from sohu import Sohu -from funshion import Funshion -from letv import LeTV -from mgtv import MGTV +from iqiyi import video_from_url as video_from_iqiyi +from qq import video_from_url as video_from_qq +from youku import video_from_url as video_from_youku +from pptv import video_from_url as video_from_pptv +from sohu import video_from_url as video_from_sohu +from funshion import video_from_url as video_from_funshion +from letv import video_from_url as video_from_letv +from mgtv import video_from_url as video_from_mgtv from json import loads, dumps from bs4 import BeautifulSoup -BANNER_FMT = '[COLOR gold]%s[/COLOR]' -BANNER_FMT2 = '[COLOR pink][%s][/COLOR]' - HOST = 'http://v.baidu.com' plugin = Plugin() url_for = plugin.url_for +__cwd__ = plugin.addon.getAddonInfo('path') +__m3u8__ = __cwd__ + '/temp.m3u8' +BANNER_FMT = '[COLOR gold]%s[/COLOR]' +BANNER_FMT2 = '[COLOR pink][%s][/COLOR]' + + def previous_page(endpoint, page, total_page, **kwargs): if int(page) > 1: info = loads(kwargs['info']) @@ -102,22 +106,32 @@ def play(link, title): page = get_html(link) playurl = re.compile('a href="(http.+?)\"').findall(page)[0] - if 'sohu.com' in playurl: - site = Sohu() + if ('le.com' in playurl) or ('letv.com' in playurl): + videourl = video_from_letv(playurl, m3u8=__m3u8__) + plugin.set_resolved_url(__m3u8__) + return + + elif 'sohu.com' in playurl: + videourl = video_from_sohu elif 'qq.com' in playurl: - site = QQ() + videourl = video_from_qq elif 'iqiyi.com' in playurl: - site = IQiyi() + split = urlparse.urlsplit(playurl) + playurl = '{scheme}://{netloc}{path}/'.format(scheme=split[0], + netloc=split[1], + path=split[2]) + videourl = video_from_iqiyi elif 'fun.tv' in playurl: - site = Funshion() + videourl = video_from_funshion elif 'youku.com' in playurl: - site = Youku() + videourl = video_from_youku elif 'mgtv.com' in playurl: - site = MGTV() + videourl = video_from_mgtv else: - pass + xbmcgui.Dialog().ok(plugin.addon.getAddonInfo('name'), '地址不能解析') + return - urls = site.video_from_url(playurl) + urls = videourl(playurl) stackurl = 'stack://' + ' , '.join(urls) li = ListItem(title, path=stackurl) li.set_info('video', {'title': title}) @@ -203,7 +217,6 @@ def channellist(url, info): page = req['pn'] #'http://v.baidu.com/channel/amuse?format=json&pn=1' api = HOST + '/' + url + '?format=json&pn=' + str(page) - print "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",api html = get_html(api) data = loads(html)['data'] videos = data['videos'] diff --git a/plugin.video.baidu/plugin.video.baidu-1.1.0.zip b/plugin.video.baidu/plugin.video.baidu-1.1.0.zip index 8f6e38fda4366054a96768ff32f4fb62deb4c974..e6afc19b550c9af34c5edd387b41329203c6abf9 100644 GIT binary patch delta 3117 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 H00000tew%- delta 2951 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 diff --git a/plugin.video.iqiyi/default.py b/plugin.video.iqiyi/default.py index 6538970..5efcd65 100644 --- a/plugin.video.iqiyi/default.py +++ b/plugin.video.iqiyi/default.py @@ -53,7 +53,7 @@ def playvideo(tvId, vid, title): sel = 1 urls = video_from_vid(tvId, vid, level=sel) if urls is None: - xbmcgui.Dialog().ok(__addonname__, '无法播放此视频') + xbmcgui.Dialog().ok(plugin.addon.getAddonInfo('name'), '无法播放此视频') return stackurl = 'stack://' + ' , '.join(urls) @@ -327,7 +327,7 @@ def search(): @plugin.route('/videolist/') def videolist(url): - plugin.set_content('videos') + plugin.set_content('TVShows') html = get_html(url) html = re.sub('\t|\r|\n', ' ', html) tree = BeautifulSoup(html, 'html.parser') diff --git a/plugin.video.iqiyi/plugin.video.iqiyi-2.4.0.zip b/plugin.video.iqiyi/plugin.video.iqiyi-2.4.0.zip index 17cef7a21a38d010c1dccbd6db7ac5815175b7dc..71964099745c1838e7c415798bd4eb42821fe584 100644 GIT binary patch delta 3823 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 delta 3822 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 diff --git a/plugin.video.mgtv/lib/mgtv.py b/plugin.video.mgtv/lib/mgtv.py index a8daf6c..a8fdf15 100644 --- a/plugin.video.mgtv/lib/mgtv.py +++ b/plugin.video.mgtv/lib/mgtv.py @@ -38,8 +38,8 @@ def get_mgtv_real_url(self, m3u_url, **kwargs): split = urlparse.urlsplit(m3u_url) base_url = "{scheme}://{netloc}{path}/".format(scheme=split[0], - netloc=split[1], - path=dirname(split[2])) + netloc=split[1], + path=dirname(split[2])) # get the REAL M3U url, maybe to be changed later? content = get_html(m3u_url) diff --git a/plugin.video.rrsp/default.py b/plugin.video.rrsp/default.py index 380a98d..2c9d02b 100644 --- a/plugin.video.rrsp/default.py +++ b/plugin.video.rrsp/default.py @@ -3,11 +3,6 @@ import os import sys -import xbmcaddon - -ADDON = xbmcaddon.Addon() -ADDON_PATH = ADDON.getAddonInfo('path').decode("utf-8") -sys.path.append(os.path.join(ADDON_PATH, 'lib')) from xbmcswift2 import Plugin, ListItem, xbmc, xbmcgui @@ -51,6 +46,9 @@ plugin = Plugin() url_for = plugin.url_for +ADDON_PATH = plugin.addon.getAddonInfo('path').decode("utf-8") +sys.path.append(os.path.join(ADDON_PATH, 'lib')) + conn = sqlite3.connect(ADDON_PATH + '/local.db') cur = conn.cursor() diff --git a/plugin.video.sohuvideo/default.py b/plugin.video.sohuvideo/default.py index 8156e58..19da717 100644 --- a/plugin.video.sohuvideo/default.py +++ b/plugin.video.sohuvideo/default.py @@ -101,7 +101,7 @@ def videolist(name, url): }) vlists = tree.find_all('ul', {'class': 'st-list'}) - lists = vlists[0].find_all('li') + lists = [] if len(vlists) == 0 else vlists[0].find_all('li') for item in lists: pic = item.find('div', {'class': 'st-pic'}) @@ -155,7 +155,7 @@ def videolist(name, url): }) pages = tree.find_all('div', {'class': 'ssPages area'}) - pages = pages[0].find_all('a') + pages = [] if len(pages) == 0 else pages[0].find_all('a') for page in pages: items.append({ 'label': page['title'].encode('utf-8'),