diff options
author | eracknaphobia <eracknaphobia@hotmail.com> | 2017-12-04 15:56:07 -0500 |
---|---|---|
committer | Martijn Kaijser <martijn@xbmc.org> | 2017-12-04 21:56:07 +0100 |
commit | d55c7ab281e0aa01a415a68386fae5c345be4a46 (patch) | |
tree | 34596a84783344e9eeeaef7d0127c63cf391fc12 /plugin.video.simpsonsworld | |
parent | fe4c482f3e20864c093bce16a9e0460ab8a45247 (diff) |
[plugin.video.simpsonsworld] 2017.11.28 (#1537)
Diffstat (limited to 'plugin.video.simpsonsworld')
-rw-r--r-- | plugin.video.simpsonsworld/addon.xml | 9 | ||||
-rw-r--r-- | plugin.video.simpsonsworld/resources/lib/globals.py | 58 | ||||
-rw-r--r-- | plugin.video.simpsonsworld/resources/settings.xml | 2 |
3 files changed, 38 insertions, 31 deletions
diff --git a/plugin.video.simpsonsworld/addon.xml b/plugin.video.simpsonsworld/addon.xml index af895e2..6288305 100644 --- a/plugin.video.simpsonsworld/addon.xml +++ b/plugin.video.simpsonsworld/addon.xml @@ -1,8 +1,9 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<addon id="plugin.video.simpsonsworld" name="Simpsons World" version="2017.4.5" provider-name="eracknaphobia"> +<addon id="plugin.video.simpsonsworld" name="Simpsons World" version="2017.11.28" provider-name="eracknaphobia"> <requires> - <import addon="xbmc.python" version="2.25.0"/> - <import addon="script.module.adobepass" version="2017.3.20"/> + <import addon="xbmc.python" version="2.25.0"/> + <import addon="script.module.adobepass" version="2017.3.20"/> + <import addon="script.module.requests" version="2.9.1"/> </requires> <extension point="xbmc.python.pluginsource" library="simpsons.py"> <provides>video</provides> @@ -13,7 +14,7 @@ <description lang="en_GB">Simpsons World has every episode of the series accessible to authenticated FX subscribers</description> <disclaimer lang="en_GB"></disclaimer> <news> -- Fixed Icon / Fanart not displaying +- Fixed Invalid XML issue </news> <language>en</language> <platform>all</platform> diff --git a/plugin.video.simpsonsworld/resources/lib/globals.py b/plugin.video.simpsonsworld/resources/lib/globals.py index 43911f5..869f914 100644 --- a/plugin.video.simpsonsworld/resources/lib/globals.py +++ b/plugin.video.simpsonsworld/resources/lib/globals.py @@ -1,8 +1,8 @@ import sys, os import xbmc, xbmcplugin, xbmcgui, xbmcaddon -import urllib, urllib2 -import json +import urllib import base64 +import requests from adobepass.adobe import ADOBE @@ -13,6 +13,7 @@ ROOTDIR = ADDON.getAddonInfo('path') FANART = os.path.join(ROOTDIR,"resources/media/fanart.jpg") ICON = os.path.join(ROOTDIR,"resources/media/icon.png") +VERIFY = False #Addon Settings @@ -62,11 +63,12 @@ season_art = {'1':'71663-1-16.jpg', '26':'71663-26.jpg', '27':'71663-27-2.jpg', '28':'71663-28.jpg', + '29':'71663-29-3.jpg' } def listSeasons(): - for x in range(1, 29): + for x in range(1, 30): title = "Season "+str(x) url = str(x) #icon = 'http://thetvdb.com/banners/seasons/71663-'+str(x)+'-15.jpg' @@ -78,18 +80,20 @@ def listSeasons(): def listEpisodes(season): - url = "http://fapi2.fxnetworks.com/androidtv/videos?filter%5Bfapi_show_id%5D=9aad7da1-093f-40f5-b371-fec4122f0d86&filter%5Bseason%5D="+season+"&limit=500&filter%5Btype%5D=episode" - req = urllib2.Request(url) - req.add_header("Connection", "keep-alive") - req.add_header("Accept", "*/*") - req.add_header("Accept-Encoding", "deflate") - req.add_header("Accept-Language", "en-us") - req.add_header("Connection", "keep-alive") - req.add_header("Authentication", "androidtv:a4y4o0e01jh27dsyrrgpvo6d1wvpravc2c4szpp4") - req.add_header("User-Agent", UA_FX) - response = urllib2.urlopen(req) - json_source = json.load(response) - response.close() + url = "http://fapi2.fxnetworks.com/androidtv/videos?filter%5Bfapi_show_id%5D=9aad7da1-093f-40f5-b371-fec4122f0d86&filter%5Bseason%5D="+season+"&limit=500&filter%5Btype%5D=episode" + + headers = { + "Connection": "keep-alive", + "Accept": "*/*", + "Accept-Encoding": "deflate", + "Accept-Language": "en-us", + "Connection": "keep-alive", + "Authentication": "androidtv:a4y4o0e01jh27dsyrrgpvo6d1wvpravc2c4szpp4", + "User-Agent": UA_FX, + } + + r = requests.get(url, headers=headers, verify=VERIFY) + json_source = r.json() #for episode in reversed(json_source['videos']): for episode in sorted(json_source['videos'], key=lambda k: k['episode']): @@ -120,17 +124,19 @@ def getStream(url): if adobe.authorize(): media_token = adobe.mediaToken() url = url + "&auth="+urllib.quote(base64.b64decode(media_token)) - req = urllib2.Request(url) - req.add_header("Accept", "*/*") - req.add_header("Accept-Encoding", "deflate") - req.add_header("Accept-Language", "en-us") - req.add_header("Connection", "keep-alive") - req.add_header("User-Agent", UA_FX) - response = urllib2.urlopen(req) - response.close() - - #get the last url forwarded to - stream_url = response.geturl() + + headers = { + "Connection": "keep-alive", + "Accept": "*/*", + "Accept-Encoding": "deflate", + "Accept-Language": "en-us", + "Connection": "keep-alive", + "User-Agent": UA_FX, + } + + r = requests.get(url, headers=headers, verify=VERIFY) + + stream_url = r.url stream_url = stream_url + '|User-Agent=okhttp/3.4.1' listitem = xbmcgui.ListItem(path=stream_url) xbmcplugin.setResolvedUrl(addon_handle, True, listitem) diff --git a/plugin.video.simpsonsworld/resources/settings.xml b/plugin.video.simpsonsworld/resources/settings.xml index cf86ce6..691dd1a 100644 --- a/plugin.video.simpsonsworld/resources/settings.xml +++ b/plugin.video.simpsonsworld/resources/settings.xml @@ -4,6 +4,6 @@ <category label="30001"> <setting id="ratio" type="labelenum" label="30010" lvalues="16x9|4x3" default="16x9" /> <setting id="commentary" type="bool" label="30020" default="false" /> - <setting id="deauthorize" type="action" label="30900" action="RunPlugin(plugin://plugin.video.simpsonsworld/?url=junk&mode=999)" option="close" /> + <setting id="deauthorize" type="action" label="30900" action="RunPlugin(plugin://plugin.video.simpsonsworld/?url=junk&mode=999)" option="close" /> </category> </settings> |