The branch, frodo has been updated
via 9f58781b40f28a05c78d24ef954dd798b3fb748b (commit)
via c6ca4a770800c75afdb23279fdeb57cb1d9e62f5 (commit)
via 6571bfd68b1ddd70b4ce47f263043fce3b6c483c (commit)
via 91f7ee606a8fd21d1ca0f1917ce5488ef65df2a4 (commit)
via d71ca34af11e6b072fb11553cfabc74d5a4b29de (commit)
from f63f933eaad1c6b1eabe6b2c95e144cae21a11ce (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=9f58781b40f28a05c78d24ef954dd798b3fb748b
commit 9f58781b40f28a05c78d24ef954dd798b3fb748b
Author: Martijn Kaijser <[email protected]>
Date: Thu Sep 18 19:39:23 2014 +0200
[plugin.video.metv] 1.1.5
diff --git a/plugin.video.metv/README.txt b/plugin.video.metv/README.txt
index cb5f6f4..0f5187e 100644
--- a/plugin.video.metv/README.txt
+++ b/plugin.video.metv/README.txt
@@ -4,6 +4,10 @@ plugin.video.metv
XBMC Addon for MeTV website
+Version 1.1.5 Website changes
+
+Version 1.1.2 fix for commercials
+
Version 1.1.1 Improved bitrate speeds for videos
version 1.0.1 initial release
diff --git a/plugin.video.metv/addon.xml b/plugin.video.metv/addon.xml
index f62d997..6973ce0 100644
--- a/plugin.video.metv/addon.xml
+++ b/plugin.video.metv/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.metv"
name="MeTV"
- version="1.1.1"
+ version="1.1.5"
provider-name="t1m">
<requires>
<import addon="xbmc.python" version="2.1.0"/>
diff --git a/plugin.video.metv/changelog.txt b/plugin.video.metv/changelog.txt
index cb22bd8..27bf6c0 100644
--- a/plugin.video.metv/changelog.txt
+++ b/plugin.video.metv/changelog.txt
@@ -1,3 +1,7 @@
+Version 1.1.5 Website changes
+
+Version 1.1.2 fix for commercials
+
Version 1.1.1 Improved bitrate speeds for videos
Version 1.0.1 Initial release
diff --git a/plugin.video.metv/default.py b/plugin.video.metv/default.py
index 7aca65f..cbbca26 100644
--- a/plugin.video.metv/default.py
+++ b/plugin.video.metv/default.py
@@ -10,10 +10,10 @@ import cgi, gzip
from StringIO import StringIO
+
USER_AGENT = 'Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26
(KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25'
GENRE_TV = "TV"
UTF8 = 'utf-8'
-MAX_PER_PAGE = 25
METVBASE = 'http://metvnetwork.com%s'
addon = xbmcaddon.Addon('plugin.video.metv')
@@ -57,50 +57,51 @@ def getRequest(url, user_data=None, headers =
{'User-Agent':USER_AGENT, 'Accept'
except:
link1 = ""
- link1 = str(link1).replace('\n','')
+ if not (str(url).endswith('.zip')):
+ link1 = str(link1).replace('\n','')
return(link1)
def getSources(fanart):
urlbase = METVBASE % ('/videos/')
pg = getRequest(urlbase)
- blob = re.compile('<div class="video-library-list
clearfix">(.+?)video-library-list -->').findall(pg)
- cats =
re.compile('href="(.+?)".+?src="(.+?)".+?<h2>(.+?)<').findall(blob[0])
+ blob = re.search('<div class="video-library-list
clearfix">(.+?)video-library-list -->',pg).group(1)
+ cats = re.findall('href="(.+?)".+?src="(.+?)".+?<h2>(.+?)<',
blob)
for caturl, catimage, catname in cats:
pg = getRequest(METVBASE % (caturl))
try:
- (cathead,catsyn)=re.compile('<span
class="new-episodes">(.+?)<.+?"video-landing-main-desc-wrap
clearfix".+?-->(.+?)<').findall(pg)[0]
+ (cathead,catsyn)=re.search('<span
class="new-episodes">(.+?)<.+?"video-landing-main-desc-wrap
clearfix".+?-->(.+?)<',pg).groups()
catdesc = '%s \n %s' % (cathead.strip(), catsyn.strip())
except:
- catdesc = re.compile('"video-landing-main-desc-wrap
clearfix".+?-->(.+?)<').findall(pg)[0].strip()
+ catdesc = re.search('"video-landing-main-desc-wrap
clearfix".+?-->(.+?)<',pg).group(1).strip()
addDir(catname,caturl,'GC',catimage,fanart,catdesc,GENRE_TV,'',False)
def getCats(cat_url):
urlbase = METVBASE % (cat_url)
pg = getRequest(urlbase)
try:
- series =
re.compile('class="new-episodes">.+?<h2>(.+?)</h2>').findall(pg)[0]
+ series =
re.search('class="new-episodes">.+?<h2>(.+?)</h2>',pg).group(1)
except:
series = 'MeTV'
- showart = re.compile('<img class="video-landing-billboard"
src="(.+?)"').findall(pg)[0]
- blob = re.compile('<div class="video-landing-episodes-wrap
clearfix">(.+?)video-landing-episodes-wrap -->').findall(pg)
- shows = re.compile('episode-title"><a
href="(.+?)">(.+?)<.+?thumb-img"
src="(.+?)".+?episode-desc">(.+?)<').findall(blob[0])
+ showart = METVBASE % (re.search('<img
class="video-landing-billboard" src="(.+?)"',pg).group(1))
+ blob = re.search('<div class="video-landing-episodes-wrap
clearfix">(.+?)video-landing-episodes-wrap -->',pg).group(1)
+ shows = re.findall('episode-title"><a
href="(.+?)">(.+?)<.+?thumb-img" src="(.+?)".+?episode-desc">(.+?)<',blob)
for showpage,showname, showimg, showdesc in shows:
showname = '%s - %s' % (series, showname)
showdesc = showdesc.replace('</span>','')
try:
- showurl = re.compile('/media/(.+?)/').findall(showimg)[0]
+ showurl = re.search('/media/(.+?)/',showimg).group(1)
except:
showurl = 'BADASS'+showpage
showurl = "%s?url=%s&name=%s&mode=GS" %(sys.argv[0],
urllib.quote_plus(showurl), urllib.quote_plus(showname))
addLink(showurl.encode(UTF8),showname,showimg,showart,showdesc,GENRE_TV,'')
-def getShow(mediaID, show_name):
+def getUrl(mediaID):
if mediaID.startswith('BADASS'):
- mediaID = METVBASE+mediaID.replace('BADASS','')
- pg = getRequest(show_url)
- mediaID = re.compile('mediaId=(.+?)&').findall(pg)[0]
+ mediaID = METVBASE % mediaID.replace('BADASS','')
+ pg = getRequest(mediaID)
+ mediaID = re.search('mediaId=(.+?)&',pg).group(1)
in0 = '<tns:in0>%s</tns:in0>' % mediaID
in1 = '<tns:in1 xsi:nil="true" />'
SoapMessage = """<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Body><tns:getPlaylistByMediaId
xmlns:tns="http://service.data.media.pluggd.com">"""+in0+in1+"""</tns:getPlaylistByMediaId></SOAP-ENV:Body></SOAP-ENV:Envelope>"""
@@ -111,17 +112,20 @@ def getShow(mediaID, show_name):
"Content-type": "text/xml; charset=\"UTF-8\"",
"Content-length": "%d" % len(SoapMessage),
"Referer":
"http://static.delvenetworks.com/deployments/player/player-3.27.1.0.swf?playerForm=Chromeless",
"X-Page-URL": "http://metvnetwork.com/video/",
"SOAPAction": "\"\""})
- streams = re.compile('<Stream>(.+?)</Stream>').findall(html)
+ streams = re.findall('<Stream>(.+?)</Stream>',html)
show_url=''
highbitrate = float(0)
for stream in streams:
- (url, bitrate) =
re.compile('<url>(.+?)</u.+?<videoBitRate>(.+?)</v').findall(stream)[0]
+ (url, bitrate) =
re.search('<url>(.+?)</u.+?<videoBitRate>(.+?)</v',stream).groups()
if (float(bitrate)) > highbitrate:
show_url = url
highbitrate = float(bitrate)
show_url = show_url.split('mp4:',1)[1]
finalurl = 'http://s2.cpl.delvenetworks.com/%s' % show_url
- xbmcplugin.setResolvedUrl(int(sys.argv[1]), True,
xbmcgui.ListItem(path = finalurl))
+ return finalurl
+
+def getShow(mediaID, show_name):
+ xbmcplugin.setResolvedUrl(int(sys.argv[1]), True,
xbmcgui.ListItem(path = getUrl(mediaID)))
def play_playlist(name, list):
@@ -168,10 +172,9 @@ def
addLink(url,name,iconimage,fanart,description,genre,date,showcontext=True,pl
return
addDir(name,url,'SR',iconimage,fanart,description,genre,date,showcontext,playlist,autoplay)
-
# MAIN EVENT PROCESSING STARTS HERE
-xbmcplugin.setContent(int(sys.argv[1]), 'movies')
+xbmcplugin.setContent(int(sys.argv[1]), 'tvshows')
parms = {}
try:
@@ -183,11 +186,7 @@ except:
p = parms.get
-try:
- mode = p('mode')
-except:
- mode = None
-
+mode = p('mode',None)
if mode== None: getSources(p('fanart'))
elif mode=='SR': xbmcplugin.setResolvedUrl(int(sys.argv[1]), True,
xbmcgui.ListItem(path=p('url')))
elif mode=='PP': play_playlist(p('name'), p('playlist'))
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=c6ca4a770800c75afdb23279fdeb57cb1d9e62f5
commit c6ca4a770800c75afdb23279fdeb57cb1d9e62f5
Author: Martijn Kaijser <[email protected]>
Date: Thu Sep 18 19:38:04 2014 +0200
[plugin.video.wsj] 1.9.4
diff --git a/plugin.video.wsj/README.txt b/plugin.video.wsj/README.txt
index 8a24f20..7954cb1 100644
--- a/plugin.video.wsj/README.txt
+++ b/plugin.video.wsj/README.txt
@@ -1,6 +1,8 @@
plugin.video.wsj
================
+version 1.9.4 major website change
+
version 1.8.4 minor change to addon.xml
version 1.8.2 cleaned up some non-playing items
diff --git a/plugin.video.wsj/addon.xml b/plugin.video.wsj/addon.xml
index 4678700..3e4efd8 100644
--- a/plugin.video.wsj/addon.xml
+++ b/plugin.video.wsj/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.wsj"
name="The Wall Street Journal Live"
- version="1.8.4"
+ version="1.9.4"
provider-name="t1m">
<requires>
<import addon="xbmc.python" version="2.1.0"/>
diff --git a/plugin.video.wsj/changelog.txt b/plugin.video.wsj/changelog.txt
index 9c9e8d0..ca1275e 100644
--- a/plugin.video.wsj/changelog.txt
+++ b/plugin.video.wsj/changelog.txt
@@ -10,6 +10,8 @@ version 1.7.2 added language string support
version 1.8.0 add autoplay option
+version 1.9.4 major website change
+
version 1.8.2 cleaned up some non-playing items
version 1.8.4 minor change to addon.xml
\ No newline at end of file
diff --git a/plugin.video.wsj/default.py b/plugin.video.wsj/default.py
index 0f20d20..980fe9a 100644
--- a/plugin.video.wsj/default.py
+++ b/plugin.video.wsj/default.py
@@ -5,14 +5,11 @@ import urllib, urllib2, cookielib, datetime, time, re, os
import xbmcplugin, xbmcgui, xbmcaddon, xbmcvfs
import cgi, gzip
from StringIO import StringIO
+import json
-USER_AGENT = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3)
Gecko/2008092417 Firefox/3.0.3'
-WSJ_URL = "http://live.wsj.com"
-WSJ_API_URL = "/api-video/find_all_videos.asp?"
+USER_AGENT = 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X;
en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148
Safari/6533.18.5'
GENRE_NEWS = "News"
-MANIFEST = '/manifest.f4m"'
-VID_BASE = "http://m.wsj.net"
UTF8 = 'utf-8'
addon = xbmcaddon.Addon('plugin.video.wsj')
@@ -21,46 +18,9 @@ home = addon.getAddonInfo('path').decode(UTF8)
icon = xbmc.translatePath(os.path.join(home, 'icon.png'))
fanart = xbmc.translatePath(os.path.join(home, 'fanart.jpg'))
-
-
def log(txt):
- try:
message = '%s: %s' % (__addonname__, txt.encode('ascii', 'ignore'))
xbmc.log(msg=message, level=xbmc.LOGDEBUG)
- except:
- pass
-
-def _parse_argv():
-
- global url,name,iconimage, mode, playlist,fchan,fres,fhost,fname,fepg
-
- params = {}
- try:
- params = dict( arg.split( "=" ) for arg in
((sys.argv[2][1:]).split( "&" )) )
- except:
- params = {}
-
- url = demunge(params.get("url",None))
- name = demunge(params.get("name",""))
- iconimage = demunge(params.get("iconimage",""))
-# fanart = demunge(params.get("fanart",""))
- playlist = demunge(params.get("playlist",""))
- fchan = demunge(params.get("fchan",""))
- fres = demunge(params.get("fres",""))
- fhost = demunge(params.get("fhost",""))
- fname = demunge(params.get("fname",""))
- fepg = demunge(params.get("fepg",None))
-
- try:
- playlist=eval(playlist.replace('|',','))
- except:
- pass
-
- try:
- mode = int(params.get( "mode", None ))
- except:
- mode = None
-
def demunge(munge):
try:
@@ -69,10 +29,9 @@ def demunge(munge):
pass
return munge
-def getRequest(url):
+def getRequest(url, user_data=None, headers = {'User-Agent':USER_AGENT,
'Accept':"text/html", 'Accept-Encoding':'gzip,deflate,sdch',
'Accept-Language':'en-US,en;q=0.8'} ):
log("getRequest URL:"+str(url))
- headers = {'User-Agent':USER_AGENT, 'Accept':"text/html",
'Accept-Encoding':'gzip,deflate,sdch', 'Accept-Language':'en-US,en;q=0.8',
'Cookie':'hide_ce=true'}
- req = urllib2.Request(url.encode(UTF8), None, headers)
+ req = urllib2.Request(url.encode(UTF8), user_data, headers)
try:
response = urllib2.urlopen(req)
@@ -86,44 +45,67 @@ def getRequest(url):
except:
link1 = ""
- link1 = str(link1).replace('\n','')
+ if not (str(url).endswith('.zip')):
+ link1 = str(link1).replace('\n','')
return(link1)
-def getSources():
-
- match=re.compile('<li
id="vcrTab_(.+?)".+?data-query="(.+?)".+?~(.+?)"').findall(getRequest(WSJ_URL))
- for category, caturl, cattext in match:
- catdesc = cattext
- caturl = (WSJ_URL+WSJ_API_URL+caturl).encode(UTF8)
- cattext = cattext.encode(UTF8, 'ignore')
- try:
- if (category == "startup") or (category == "markets"):
-
addDir(cattext,caturl,18,icon,fanart,catdesc,GENRE_NEWS,"",False)
- else:
-
addDir(cattext,category.encode(UTF8),17,icon,fanart,catdesc,GENRE_NEWS,"",False)
-
- except:
- log("Problem adding directory")
-
-
-def play_playlist(name, list):
- playlist = xbmc.PlayList(1)
- playlist.clear()
- item = 0
- for i in list:
- item += 1
- info = xbmcgui.ListItem('%s) %s' %(str(item),name))
- playlist.add(i, info)
- xbmc.executebuiltin('playlist.playoffset(video,0)')
-
+def getSources(fanART):
+ blob = re.compile('<nav
class="top">(.+?)</nav').search(getRequest('http://wsj.com/video')).group(1)
+ match = re.compile('href="(.+?)">(.+?)<').findall(blob)
+ for caturl, category in match:
+ if '/video' in caturl and (not ('/sponsored' in caturl)):
+
addDir(category,caturl,'GC',icon,fanart,"",GENRE_NEWS,"",False)
+
+def getCats(url):
+ if '/browse' in url:
+ pg = getRequest(url)
+ blob = re.compile('<div
class="select-holder">(.+?)</div>').search(pg).group(1)
+ cats = re.compile('value="(.+?)">(.+?)</option>').findall(blob)
+ for caturl, cattext in cats:
+ cattext = cattext.replace(' ','').replace('&','&')
+ caturl = 'http://www.wsj.com%s' % caturl
+ addDir(cattext,caturl,'GS',icon,fanart,"",GENRE_NEWS,"",False)
+ elif ('/topics' in url):
+ pg = getRequest(url)
+ topics = re.compile('data-ref="(.+?)".+?href="(.+?)"').findall(pg)
+ for cattext, caturl in topics:
+ cattext = cattext.replace(' ','').replace('&','&')
+ addDir(cattext,caturl,'GS',icon,fanart,"",GENRE_NEWS,"",False)
+ elif ('/programs' in url):
+ pg = getRequest(url)
+ topics = re.compile('span
class="playbtn".+?href="(.+?)".+?title="(.+?)"').findall(pg)
+ for caturl, cattext in topics:
+ cattext =
cattext.replace(' ','').replace('&','&').replace(''',"'")
+ addDir(cattext,caturl,'GS',icon,fanart,"",GENRE_NEWS,"",False)
+
+
+def getShow(url, name):
+ url = urllib.unquote_plus(url)
+ pg = getRequest(url)
+ url =
re.compile('data-ref=.+?href="(.+?)"').search(pg).group(1)
+ url =
url.replace('format=rss','format=json').replace('&','&').replace('
','%20').replace(''','%27')
+ url =
url+'&fields=name%2CvideoURL%2Ccolumn%2Cthumbnail1280x720URL%2Cthumbnail640x360URL%2ClinkURL%2CthumbnailURL%2CformattedCreationDate%2Cdescription&count=50'
+ pg = getRequest(url)
+ a = json.loads(pg)
+ a = a['items']
+ for item in a:
+ url = item['videoURL']
+ url = url.replace('\\','')
+ url =
url.replace('http://hdsvod-f.akamaihd.net/z','http://wsjvod-i.akamaihd.net/i')
+ url = url.replace('manifest.f4m','master.m3u8')
+ addLink(url, item['name'] , item['thumbnailURL'],fanart,
'%s\n%s' %
(item['formattedCreationDate'],item['description']),item['column'],'')
+
def
addDir(name,url,mode,iconimage,fanart,description,genre,date,showcontext=True,playlist=None,autoplay=False):
- u=sys.argv[0]+"?url="+urllib.quote_plus(url)+"&mode="+str(mode)
+ u=sys.argv[0]+"?url="+urllib.quote_plus(url)+"&mode="+mode
dir_playable = False
+ cm = []
- if mode != 12:
- u +=
"&name="+urllib.quote_plus(name)+"&fanart="+urllib.quote_plus(fanart)
+ if mode != 'SR':
+ u += "&name="+urllib.quote_plus(name)
+ if (fanart is None) or fanart == '': fanart = addonfanart
+ u += "&fanart="+urllib.quote_plus(fanart)
dir_image = "DefaultFolder.png"
dir_folder = True
else:
@@ -137,116 +119,35 @@ def
addDir(name,url,mode,iconimage,fanart,description,genre,date,showcontext=Tru
liz.setProperty( "Fanart_Image", fanart )
if dir_playable == True:
- liz.setProperty('IsPlayable', 'true')
+ liz.setProperty('IsPlayable', 'true')
if not playlist is None:
playlist_name = name.split(') ')[1]
- contextMenu_ = [('Play '+playlist_name+'
PlayList','XBMC.RunPlugin(%s?mode=13&name=%s&playlist=%s)' %(sys.argv[0],
urllib.quote_plus(playlist_name),
urllib.quote_plus(str(playlist).replace(',','|'))))]
- liz.addContextMenuItems(contextMenu_)
-
- if autoplay == True:
- xbmc.PlayList(1).add(u, liz)
- else:
-
ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,isFolder=dir_folder)
- return ok
+ cm.append(('Play '+playlist_name+'
PlayList','XBMC.RunPlugin(%s?mode=PP&name=%s&playlist=%s)' %(sys.argv[0],
playlist_name, urllib.quote_plus(str(playlist).replace(',','|')))))
+ liz.addContextMenuItems(cm)
+ return
xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,isFolder=dir_folder)
def
addLink(url,name,iconimage,fanart,description,genre,date,showcontext=True,playlist=None,
autoplay=False):
- return
addDir(name,url,12,iconimage,fanart,description,genre,date,showcontext,playlist,autoplay)
-
-
-def strip_unicode(unistr):
-
return(unistr.replace('\\u2018',"'").replace('\\u2019',"'").replace('\\u201C','"').replace('\\u201D','"').replace('\\u2013','-').replace('\\u2014','-').replace('\\u2005','
').replace('\\u00E9','e'))
+ return
addDir(name,url,'SR',iconimage,fanart,description,genre,date,showcontext,playlist,autoplay)
# MAIN EVENT PROCESSING STARTS HERE
xbmcplugin.setContent(int(sys.argv[1]), 'tvshows')
+
+parms = {}
try:
- xbmcplugin.addSortMethod(int(sys.argv[1]), xbmcplugin.SORT_METHOD_UNSORTED)
+ parms = dict( arg.split( "=" ) for arg in ((sys.argv[2][1:]).split( "&" ))
)
+ for key in parms:
+ parms[key] = demunge(parms[key])
except:
- pass
-
-
-url=name=iconimage=mode=playlist=fchan=fres=fhost=fname=fepg=None
-
-_parse_argv()
-
-auto_play = False
-
-
-log("Mode: "+str(mode)+" Name: "+str(name))
-if not url is None:
- log("URL: "+str(url.encode(UTF8)))
-
-if mode==None:
- log("getSources")
- getSources()
- url = "topnews"
- if addon.getSetting('auto_play') == "true":
- auto_play = True
- xbmc.PlayList(1).clear()
-
-
-if mode==12:
- log("setResolvedUrl")
- item = xbmcgui.ListItem(path=url)
- xbmcplugin.setResolvedUrl(int(sys.argv[1]), True, item)
-
-if mode==13:
- log("play_playlist")
- play_playlist(name, playlist)
-
-if (mode==17) or (auto_play == True):
-
- log("Processing category")
-
- if auto_play == True:
- subcatname = "News"
- else:
- subcatname = ".+?"
-
match=re.compile('vcrDataPanel_'+str(url)+'(.+?)</ul>').findall(getRequest(WSJ_URL))
- for subcat in match:
- subcat = subcat.replace(">",'>').replace("<",'<')
- submatch = re.compile('<h5
id=".+?data-query="(.+?)".+?~('+subcatname+')"').findall(subcat)
- for caturl, cattext in submatch:
- caturl = (WSJ_URL+WSJ_API_URL+caturl).encode(UTF8)
- if auto_play != True:
- try:
-
addDir(cattext,caturl,18,icon,fanart,cattext,GENRE_NEWS,"",False)
- except:
- log("problem adding Directory")
- else:
- url = caturl
-
-
-
-if mode==18 or (auto_play == True):
-
- log("Processing subcategory")
-
- res_thumbs = ["_640x360.jpg","_512x288.jpg","_167x94.jpg"]
- res_videos = ["2564k.mp4","1864k.mp4","1264k.mp4","464k.mp4"]
- i = int(addon.getSetting('vid_res'))
- res_video = res_videos[i]
- i = int(addon.getSetting('thumb_res'))
- res_thumb = res_thumbs[i]
+ parms = {}
- link=getRequest(url).replace('\\/','/').replace('\\"',"'")
- match = re.compile('"name": "(.+?)","description":
"(.+?)".+?"thumbnailURL": "(.+?)_167x94.jpg.+?"videoURL":
"http://hdsvod-f.akamaihd.net/z(.+?),.+?CreationDate": "(.+?)"').findall(link)
- for cattitle, catdesc, caticon, caturl, catdate in match:
- if not MANIFEST in caturl:
- caturl = VID_BASE+caturl+res_video
- else:
- caturl = VID_BASE+caturl.replace(MANIFEST,"")
- caturl = caturl.encode(UTF8)
- caticon += res_thumb
- catdesc = strip_unicode(catdesc)
- cattitle = strip_unicode(cattitle)
- try:
-
addLink(caturl,cattitle,caticon,fanart,catdate+'\n'+catdesc,GENRE_NEWS,"",autoplay=auto_play)
- except:
- log("Problem adding directory")
+p = parms.get
- if auto_play == True:
- xbmc.executebuiltin('playlist.playoffset(video,0)')
+mode = p('mode',None)
+if mode== None: getSources(p('fanart'))
+elif mode=='SR': xbmcplugin.setResolvedUrl(int(sys.argv[1]), True,
xbmcgui.ListItem(path=urllib.unquote_plus(p('url'))))
+elif mode=='GC': getCats(p('url'))
+elif mode=='GS': getShow(p('url'), p('name'))
-xbmcplugin.endOfDirectory(int(sys.argv[1]))
\ No newline at end of file
+xbmcplugin.endOfDirectory(int(sys.argv[1]))
diff --git a/plugin.video.wsj/resources/language/english/strings.xml
b/plugin.video.wsj/resources/language/english/strings.xml
index 0536e4a..79c1e3b 100644
--- a/plugin.video.wsj/resources/language/english/strings.xml
+++ b/plugin.video.wsj/resources/language/english/strings.xml
@@ -1,17 +1,3 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<?xml version="1.0" encoding="UTF-8"?>
<strings>
- <string id="30000">Settings</string>
- <string id="30010">Video Stream Quality</string>
- <string id="30011">Thumbnail Quality</string>
- <string id="30012">Autoplay Top News</string>
-
- <string id="30020">720p</string>
- <string id="30021">540p</string>
- <string id="30022">360p</string>
- <string id="30023">280p</string>
-
- <string id="30025">High</string>
- <string id="30026">Medium</string>
- <string id="30027">Low</string>
</strings>
-
diff --git a/plugin.video.wsj/resources/settings.xml
b/plugin.video.wsj/resources/settings.xml
index 06a1854..fb5aafd 100644
--- a/plugin.video.wsj/resources/settings.xml
+++ b/plugin.video.wsj/resources/settings.xml
@@ -1,8 +1,3 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<settings>
- <category label="30000">
- <setting id="vid_res" type="enum" label="30010"
lvalues="30020|30021|30022|30023" default="0" />
- <setting id="thumb_res" type="enum" label="30011"
lvalues="30025|30026|30027" default="0" />
- <setting id="auto_play" type="bool" label="30012" default="false" />
- </category>
</settings>
\ No newline at end of file
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=6571bfd68b1ddd70b4ce47f263043fce3b6c483c
commit 6571bfd68b1ddd70b4ce47f263043fce3b6c483c
Author: Martijn Kaijser <[email protected]>
Date: Thu Sep 18 19:36:58 2014 +0200
[plugin.video.sprout] 1.0.5
diff --git a/plugin.video.sprout/README.txt b/plugin.video.sprout/README.txt
index 2cdd36e..76fc453 100644
--- a/plugin.video.sprout/README.txt
+++ b/plugin.video.sprout/README.txt
@@ -3,6 +3,7 @@ plugin.video.sprout
XBMC Addon for Sprout for Kids website
+Version 1.0.5 Website change
Version 1.0.4 Website change
diff --git a/plugin.video.sprout/addon.xml b/plugin.video.sprout/addon.xml
index 90fbf58..d8b0930 100644
--- a/plugin.video.sprout/addon.xml
+++ b/plugin.video.sprout/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.sprout"
name="Sprout"
- version="1.0.4"
+ version="1.0.5"
provider-name="t1m">
<requires>
<import addon="xbmc.python" version="2.1.0"/>
diff --git a/plugin.video.sprout/changelog.txt
b/plugin.video.sprout/changelog.txt
index 365d34d..ad6017d 100644
--- a/plugin.video.sprout/changelog.txt
+++ b/plugin.video.sprout/changelog.txt
@@ -1,3 +1,5 @@
+Version 1.0.5 Website change
+
Version 1.0.4 Website change
Version 1.0.2 Initial release
diff --git a/plugin.video.sprout/default.py b/plugin.video.sprout/default.py
index 331de5e..dbf0ba4 100644
--- a/plugin.video.sprout/default.py
+++ b/plugin.video.sprout/default.py
@@ -101,14 +101,15 @@ def getCats(cat_url):
def getShow(show_url, show_name):
pg = getRequest(show_url)
- show_url = re.compile('id="player" src="(.+?)"').findall(pg)[0]
- show_url = show_url.split('#')[0]
+ show_url = re.compile('id="player"
src="(.+?)"').search(pg).group(1)
+ show_url = show_url.split('%3D')[1]
+ show_url =
'https://feed.theplatform.com/f/O6OKIC/H72hsdMX9k98?form=rss&byGuid=%s' %
show_url
pg = getRequest(show_url)
- showurl = re.compile('<link rel="alternate"
href="(.+?)"').findall(pg)[0]
+# showurl = re.compile('<link rel="alternate"
href="(.+?)"').search(pg).group(1)
+# pg = getRequest(showurl)
+ showurl =
re.compile('type="video/mp4".+?url="(.+?)"').search(pg).group(1)
pg = getRequest(showurl)
- showurl =
re.compile('type="video/mp4".+?url="(.+?)"').findall(pg)[0]
- pg = getRequest(showurl)
- finalurl = re.compile('<video src="(.+?)"').findall(pg)[0]
+ finalurl = re.compile('<video src="(.+?)"').search(pg).group(1)
finalurl =
finalurl.replace('http://sproutonline-vh.akamaihd.net/z','http://sproutonline-pmd.edgesuite.net')
xbmcplugin.setResolvedUrl(int(sys.argv[1]), True,
xbmcgui.ListItem(path = finalurl))
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=91f7ee606a8fd21d1ca0f1917ce5488ef65df2a4
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=d71ca34af11e6b072fb11553cfabc74d5a4b29de
commit d71ca34af11e6b072fb11553cfabc74d5a4b29de
Author: Martijn Kaijser <[email protected]>
Date: Thu Sep 18 19:35:00 2014 +0200
[plugin.video.tvvn] 0.9.4
diff --git a/plugin.video.tvvn/addon.xml b/plugin.video.tvvn/addon.xml
index 0dd62bc..a9bb26c 100644
--- a/plugin.video.tvvn/addon.xml
+++ b/plugin.video.tvvn/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<addon
id="plugin.video.tvvn"
- version="0.9.3"
+ version="0.9.4"
name="TV Viet Nam"
provider-name="Binh Nguyen">
<requires>
diff --git a/plugin.video.tvvn/changelog.txt b/plugin.video.tvvn/changelog.txt
index c818a9c..e76a0dc 100644
--- a/plugin.video.tvvn/changelog.txt
+++ b/plugin.video.tvvn/changelog.txt
@@ -1,3 +1,6 @@
+version 0.9.4 (14/09/2014):
+ * Fix a big with data.json operation
+
version 0.9.3 (11/07/2014):
* Futher changes to comply with Gotham
diff --git a/plugin.video.tvvn/tvvn.py b/plugin.video.tvvn/tvvn.py
index b588746..c631534 100644
--- a/plugin.video.tvvn/tvvn.py
+++ b/plugin.video.tvvn/tvvn.py
@@ -144,7 +144,7 @@ def update_chn_list():
if ack:
d_progress = xbmcgui.DialogProgress()
d_progress.create(addon.getLocalizedString(30008),
addon.getLocalizedString(30009))
- d = open(datafile, 'r+')
+ d = open(datafile, 'w')
d.seek(0)
d.write(ff)
d.close()
-----------------------------------------------------------------------
Summary of changes:
plugin.video.jworg/README.md | 5 -
plugin.video.jworg/addon.py | 184 --------
plugin.video.jworg/addon.xml | 68 ---
plugin.video.jworg/audio/jw_audio.py | 117 -----
plugin.video.jworg/audio/jw_audio_bible.py | 112 -----
plugin.video.jworg/audio/jw_audio_drama.py | 69 ---
.../audio/jw_audio_dramatic_reading.py | 68 ---
plugin.video.jworg/audio/jw_audio_magazine.py | 151 ------
plugin.video.jworg/audio/jw_audio_music.py | 78 ----
plugin.video.jworg/changelog.txt | 208 ---------
plugin.video.jworg/fanart.jpg | Bin 91688 -> 0 bytes
plugin.video.jworg/generic/jw_menu.py | 55 ---
plugin.video.jworg/icon.png | Bin 103584 -> 0 bytes
plugin.video.jworg/jw_common.py | 147 ------
plugin.video.jworg/jw_config.py | 324 -------------
plugin.video.jworg/license.txt | 12 -
plugin.video.jworg/program/jw_exec_activity.py | 241 ----------
plugin.video.jworg/program/jw_exec_daily_text.py | 115 -----
plugin.video.jworg/program/jw_exec_index.py | 80 ----
plugin.video.jworg/program/jw_exec_news.py | 220 ---------
plugin.video.jworg/program/jw_exec_week_program.py | 78 ----
.../resources/language/Afrikaans/strings.po | 153 -------
.../resources/language/Albanian/strings.po | 45 --
.../resources/language/Amharic/strings.po | 45 --
.../resources/language/Arabic/strings.po | 49 --
.../resources/language/Azerbaijani/strings.po | 25 -
.../resources/language/Basque/strings.po | 49 --
.../resources/language/Belarusian/strings.po | 53 ---
.../resources/language/Bosnian/strings.po | 45 --
.../resources/language/Bulgarian/strings.po | 145 ------
.../resources/language/Burmese/strings.po | 37 --
.../resources/language/Catalan/strings.po | 157 -------
.../resources/language/Chinese (Simple)/strings.po | 77 ----
.../language/Chinese (Traditional)/strings.po | 49 --
.../resources/language/Croatian/strings.po | 181 --------
.../resources/language/Czech/strings.po | 49 --
.../resources/language/Danish/strings.po | 49 --
.../resources/language/Dutch/strings.po | 181 --------
.../language/English (Australia)/strings.po | 41 --
.../language/English (New Zealand)/strings.po | 181 --------
.../resources/language/English (US)/strings.po | 181 --------
.../resources/language/English/strings.po | 238 ----------
.../resources/language/Esperanto/strings.po | 41 --
.../resources/language/Estonian/strings.po | 49 --
.../resources/language/Faroese/strings.po | 29 --
.../resources/language/Finnish/strings.po | 49 --
.../resources/language/French (Canada)/strings.po | 181 --------
.../resources/language/French/strings.po | 153 -------
.../resources/language/Galician/strings.po | 181 --------
.../resources/language/Georgian/strings.po | 21 -
.../resources/language/German/strings.po | 181 --------
.../resources/language/Greek/strings.po | 181 --------
.../language/Haitian (Haitian Creole)/strings.po | 37 --
.../resources/language/Hebrew/strings.po | 157 -------
.../language/Hindi (Devanagiri)/strings.po | 41 --
.../resources/language/Hungarian/strings.po | 181 --------
.../resources/language/Icelandic/strings.po | 49 --
.../resources/language/Indonesian/strings.po | 45 --
.../resources/language/Italian/strings.po | 181 --------
.../resources/language/Japanese/strings.po | 49 --
.../resources/language/Korean/strings.po | 49 --
.../resources/language/Latvian/strings.po | 37 --
.../resources/language/Lithuanian/strings.po | 181 --------
.../resources/language/Macedonian/strings.po | 49 --
.../resources/language/Malay/strings.po | 41 --
.../resources/language/Malayalam/strings.po | 37 --
.../resources/language/Maltese/strings.po | 41 --
.../resources/language/Norwegian/strings.po | 65 ---
.../resources/language/Persian (Iran)/strings.po | 41 --
.../resources/language/Persian/strings.po | 41 --
.../resources/language/Polish/strings.po | 177 --------
.../language/Portuguese (Brazil)/strings.po | 181 --------
.../resources/language/Portuguese/strings.po | 161 -------
.../resources/language/Romanian/strings.po | 49 --
.../resources/language/Russian/strings.po | 49 --
.../language/Serbian (Cyrillic)/strings.po | 45 --
.../resources/language/Serbian/strings.po | 45 --
.../resources/language/Slovak/strings.po | 49 --
.../resources/language/Slovenian/strings.po | 49 --
.../language/Spanish (Argentina)/strings.po | 49 --
.../resources/language/Spanish (Mexico)/strings.po | 49 --
.../resources/language/Spanish/strings.po | 181 --------
.../resources/language/Swedish/strings.po | 181 --------
.../resources/language/Tamil (India)/strings.po | 49 --
.../resources/language/Thai/strings.po | 49 --
.../resources/language/Turkish/strings.po | 49 --
.../resources/language/Ukrainian/strings.po | 49 --
.../resources/language/Uzbek/strings.po | 41 --
.../language/Vietnamese (Viet Nam)/strings.po | 33 --
.../resources/language/Vietnamese/strings.po | 49 --
.../resources/language/Welsh/strings.po | 33 --
plugin.video.jworg/resources/lib/empty_cache.py | 23 -
.../resources/lib/storageserverdummy.py | 30 --
plugin.video.jworg/resources/media/blank.png | Bin 358 -> 0 bytes
plugin.video.jworg/resources/media/source/icon.pdn | 312 -------------
plugin.video.jworg/resources/settings.xml | 19 -
plugin.video.jworg/video/jw_sign.py | 478 --------------------
plugin.video.jworg/video/jw_video.py | 407 -----------------
plugin.video.metv/README.txt | 4 +
plugin.video.metv/addon.xml | 2 +-
plugin.video.metv/changelog.txt | 4 +
plugin.video.metv/default.py | 49 +-
plugin.video.sprout/README.txt | 1 +
plugin.video.sprout/addon.xml | 2 +-
plugin.video.sprout/changelog.txt | 2 +
plugin.video.sprout/default.py | 13 +-
plugin.video.tvvn/addon.xml | 2 +-
plugin.video.tvvn/changelog.txt | 3 +
plugin.video.tvvn/tvvn.py | 2 +-
plugin.video.wsj/README.txt | 2 +
plugin.video.wsj/addon.xml | 2 +-
plugin.video.wsj/changelog.txt | 2 +
plugin.video.wsj/default.py | 251 +++-------
.../resources/language/english/strings.xml | 16 +-
plugin.video.wsj/resources/settings.xml | 5 -
115 files changed, 131 insertions(+), 9867 deletions(-)
delete mode 100644 plugin.video.jworg/README.md
delete mode 100644 plugin.video.jworg/__init__.py
delete mode 100644 plugin.video.jworg/addon.py
delete mode 100644 plugin.video.jworg/addon.xml
delete mode 100644 plugin.video.jworg/audio/__init__.py
delete mode 100644 plugin.video.jworg/audio/jw_audio.py
delete mode 100644 plugin.video.jworg/audio/jw_audio_bible.py
delete mode 100644 plugin.video.jworg/audio/jw_audio_drama.py
delete mode 100644 plugin.video.jworg/audio/jw_audio_dramatic_reading.py
delete mode 100644 plugin.video.jworg/audio/jw_audio_magazine.py
delete mode 100644 plugin.video.jworg/audio/jw_audio_music.py
delete mode 100644 plugin.video.jworg/changelog.txt
delete mode 100644 plugin.video.jworg/fanart.jpg
delete mode 100644 plugin.video.jworg/generic/__init__.py
delete mode 100644 plugin.video.jworg/generic/jw_menu.py
delete mode 100644 plugin.video.jworg/icon.png
delete mode 100644 plugin.video.jworg/jw_common.py
delete mode 100644 plugin.video.jworg/jw_config.py
delete mode 100644 plugin.video.jworg/license.txt
delete mode 100644 plugin.video.jworg/program/__init__.py
delete mode 100644 plugin.video.jworg/program/jw_exec_activity.py
delete mode 100644 plugin.video.jworg/program/jw_exec_daily_text.py
delete mode 100644 plugin.video.jworg/program/jw_exec_index.py
delete mode 100644 plugin.video.jworg/program/jw_exec_news.py
delete mode 100644 plugin.video.jworg/program/jw_exec_week_program.py
delete mode 100644 plugin.video.jworg/resources/__init__.py
delete mode 100644 plugin.video.jworg/resources/language/Afrikaans/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Albanian/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Amharic/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Arabic/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Azerbaijani/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Basque/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Belarusian/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Bosnian/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Bulgarian/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Burmese/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Catalan/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Chinese
(Simple)/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Chinese
(Traditional)/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Croatian/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Czech/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Danish/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Dutch/strings.po
delete mode 100644 plugin.video.jworg/resources/language/English
(Australia)/strings.po
delete mode 100644 plugin.video.jworg/resources/language/English (New
Zealand)/strings.po
delete mode 100644 plugin.video.jworg/resources/language/English
(US)/strings.po
delete mode 100644 plugin.video.jworg/resources/language/English/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Esperanto/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Estonian/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Faroese/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Finnish/strings.po
delete mode 100644 plugin.video.jworg/resources/language/French
(Canada)/strings.po
delete mode 100644 plugin.video.jworg/resources/language/French/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Galician/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Georgian/strings.po
delete mode 100644 plugin.video.jworg/resources/language/German/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Greek/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Haitian (Haitian
Creole)/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Hebrew/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Hindi
(Devanagiri)/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Hungarian/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Icelandic/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Indonesian/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Italian/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Japanese/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Korean/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Latvian/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Lithuanian/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Macedonian/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Malay/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Malayalam/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Maltese/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Norwegian/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Persian
(Iran)/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Persian/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Polish/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Portuguese
(Brazil)/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Portuguese/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Romanian/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Russian/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Serbian
(Cyrillic)/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Serbian/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Slovak/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Slovenian/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Spanish
(Argentina)/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Spanish
(Mexico)/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Spanish/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Swedish/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Tamil
(India)/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Thai/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Turkish/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Ukrainian/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Uzbek/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Vietnamese (Viet
Nam)/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Vietnamese/strings.po
delete mode 100644 plugin.video.jworg/resources/language/Welsh/strings.po
delete mode 100644 plugin.video.jworg/resources/lib/__init__.py
delete mode 100644 plugin.video.jworg/resources/lib/empty_cache.py
delete mode 100644 plugin.video.jworg/resources/lib/storageserverdummy.py
delete mode 100644 plugin.video.jworg/resources/media/blank.png
delete mode 100644 plugin.video.jworg/resources/media/source/icon.pdn
delete mode 100644 plugin.video.jworg/resources/settings.xml
delete mode 100644 plugin.video.jworg/video/__init__.py
delete mode 100644 plugin.video.jworg/video/jw_sign.py
delete mode 100644 plugin.video.jworg/video/jw_video.py
hooks/post-receive
--
Plugins
------------------------------------------------------------------------------
Slashdot TV. Video for Nerds. Stuff that Matters.
http://pubads.g.doubleclick.net/gampad/clk?id=160591471&iu=/4140/ostg.clktrk
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons