The branch, eden has been updated
via f7301ae61954abfd8b3ce0a6c013ed76755277b8 (commit)
from 682abb6841987dad7333ed6ca7486ab305c89376 (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=f7301ae61954abfd8b3ce0a6c013ed76755277b8
commit f7301ae61954abfd8b3ce0a6c013ed76755277b8
Author: spiff <[email protected]>
Date: Fri Jun 22 19:01:42 2012 +0200
[plugin.video.rbk.no] updated to version 2.0.8
diff --git a/plugin.video.rbk.no/addon.xml b/plugin.video.rbk.no/addon.xml
index f628abf..e7327cf 100644
--- a/plugin.video.rbk.no/addon.xml
+++ b/plugin.video.rbk.no/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.rbk.no"
name="RBK.no"
- version="2.0.7"
+ version="2.0.8"
provider-name="spiff">
<requires>
<import addon="xbmc.python" version="2.0"/>
@@ -21,5 +21,6 @@
<description lang="hu">Videók lejátszása az RBK.no webhelyrÅl. Ez a
Rosenborg futball klub honlapja.</description>
<description lang="pt">Veja vÃdeos disponÃveis em RBK.no, casa do clube
de futebol Rosenborg.</description>
<platform>all</platform>
+ <language>no</language>
</extension>
</addon>
diff --git a/plugin.video.rbk.no/changelog.txt
b/plugin.video.rbk.no/changelog.txt
index 76ab01f..ea934e7 100644
--- a/plugin.video.rbk.no/changelog.txt
+++ b/plugin.video.rbk.no/changelog.txt
@@ -1,3 +1,6 @@
+[B]2.0.8:[/B]
+Update for site changes. Lacks pagination support due to javascript
+
[B]2.0.7:[/B]
Fix youtube regular expression
diff --git a/plugin.video.rbk.no/default.py b/plugin.video.rbk.no/default.py
index 013b645..f638c20 100644
--- a/plugin.video.rbk.no/default.py
+++ b/plugin.video.rbk.no/default.py
@@ -19,153 +19,82 @@
# *
# */
-import urllib2,re,xbmcaddon,string,xbmc,xbmcgui,xbmcplugin
+import urllib,urllib2,re,xbmcaddon,string,xbmc,xbmcgui,xbmcplugin
from BeautifulSoup import BeautifulSoup as BS
-def INDEX(start):
- req =
urllib2.Request('http://www.rbk.no/index.jsp?stats=nyhetsarkiv&start='+start)
- response = urllib2.urlopen(req)
- link=response.read()
- response.close()
- link = string.split(link,'<h1>Nyhetsarkiv</h1>')
- link = string.split(link[1],'<a
href="index.jsp?stats=nyhetsarkiv&start=')
-
match=re.compile('(http://www.rbk.no/incoming/article[0-9]+\.ece)').findall(link[0])
- for article in match:
- req2 = urllib2.Request(article)
- response = urllib2.urlopen(req2)
- link = response.read()
- response.close()
- name = re.compile('<h1>(.*)</h1>').findall(link)
- plot = re.compile('p
class="leadIn"><b>(?:<p>)?([^<]*)(?:</p>)?</b>').findall(link)
- date = re.compile('Publisert: ([^ ]+)').findall(link)
- id = re.compile('TV2Player.insert\(([0-9]+)').findall(link)
- if len(id) == 0:
- # utub it is then?
- id =
re.compile('youtube.com/embed/([^?"]+)(?:\?|")').findall(link)
- for i in id:
- try:
- thumb = re.compile('<div
class="image">[^>]*src="([^"]*)"').findall(link)[0]
- except:
- thumb=''
- pass
- url =
'plugin://plugin.video.youtube/?action=play_video&videoid='+i
- addLink(name[0],url,thumb,plot[0],date[0])
- else:
- for i in id:
- url = sys.argv[0]+"?id="+i
- thumb =
'http://www.tv2.no/tvid/VMan-P'+i[:3]+'/VMan-P'+i+'.jpg'
- addLink(name[0],url,thumb,plot[0],date[0])
+def INDEX():
+ req = urllib2.Request('http://www.rbk.no/videos')
+ response = urllib2.urlopen(req)
+ link=response.read()
+ response.close()
+ links = string.split(link,'<div class="vodList"')[1].split('<div
class="vodItems"')
+ del links[0]
+ for link in links:
+ url = 'http://www.rbk.no'+link.split('<a href="')[1].split('"')[0]
+ name = link.split('<a href="')[1].split('>')[1].split('<')[0].strip()
+ date = link.split('<div class="vodItemDate">')[1].split('<')[0].strip()
+ thumb = 'http://www.rbk.no'+link.split('<img src="')[1].split('"')[0]
+ addLink(name,url,thumb,date)
-def RESOLVE(id):
- url =
'http://webtv.tv2.no/embed/metafile.asx?p='+id+'&i=0&external=0&ads=true&bw=2000'
- req3 = urllib2.Request(url)
- response = urllib2.urlopen(req3)
- link = response.read()
- response.close()
- url = re.compile('<REF HREF="(.*?)">').findall(link)
- name = re.compile('<TITLE>(.+?)</TITLE>').findall(link)
- plot = re.compile('<ABSTRACT>(.+?)</ABSTRACT>').findall(link)
- try:
- plot = plot[1];
- except:
- plot = "";
- pass
- try:
- name = name[0];
- except:
- name = "";
- pass
+def RESOLVE(url):
+ req3 = urllib2.Request(url)
+ response = urllib2.urlopen(req3)
+ link = response.read()
+ response.close()
+ url = link.split('.html( "<source src=\'')[1].split("'")[0]
+ name = link.split('<h2 class="videoTitle">')[1].split('<')[0]
+ plot = link.split('<div class="description">')[1].split('<')[0]
+ resolveLink(url,name,plot)
- thumb = 'http://www.tv2.no/tvid/VMan-P'+id[:3]+'/VMan-P'+id+'.jpg'
- resolveLink(url[0],name,thumb,plot)
-
def get_params():
- param=[]
- paramstring=sys.argv[2]
- if len(paramstring)>=2:
- params=sys.argv[2]
- cleanedparams=params.replace('?','')
- if (params[len(params)-1]=='/'):
- params=params[0:len(params)-2]
- pairsofparams=cleanedparams.split('&')
- param={}
- for i in range(len(pairsofparams)):
- splitparams={}
- splitparams=pairsofparams[i].split('=')
- if (len(splitparams))==2:
- param[splitparams[0]]=splitparams[1]
+ param=[]
+ paramstring=sys.argv[2]
+ if len(paramstring)>=2:
+ params=sys.argv[2]
+ cleanedparams=params.replace('?','')
+ if (params[len(params)-1]=='/'):
+ params=params[0:len(params)-2]
+ pairsofparams=cleanedparams.split('&')
+ param={}
+ for i in range(len(pairsofparams)):
+ splitparams={}
+ splitparams=pairsofparams[i].split('=')
+ if (len(splitparams))==2:
+ param[splitparams[0]]=splitparams[1]
- return param
+ return param
-def addLink(name,url,iconimage,plot,date):
- ok=True
-
name=str(BS(name,convertEntities=BS.HTML_ENTITIES,fromEncoding='utf-8'))
-
plot=str(BS(plot,convertEntities=BS.HTML_ENTITIES,fromEncoding='utf-8'))
- liz=xbmcgui.ListItem(name, iconImage="DefaultVideo.png",
thumbnailImage=iconimage)
- liz.setInfo( type="Video", infoLabels={ "Title": name } )
- liz.setInfo( type="Video", infoLabels={ "Plot": plot} )
- liz.setInfo( type="Video", infoLabels={ "Date": date} )
- liz.setProperty("IsPlayable","true");
-
ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=url,listitem=liz,isFolder=False)
- return ok
+def addLink(name,url,iconimage,date):
+ ok=True
+ url2 = sys.argv[0]+"?url="+urllib.quote_plus(url)
+ name=str(BS(name,convertEntities=BS.HTML_ENTITIES,fromEncoding='utf-8'))
+ liz=xbmcgui.ListItem(name, iconImage="DefaultVideo.png",
thumbnailImage=iconimage)
+ liz.setInfo( type="Video", infoLabels={ "Title": name } )
+ liz.setInfo( type="Video", infoLabels={ "Date": date} )
+ liz.setProperty("IsPlayable","true");
+
ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=url2,listitem=liz,isFolder=False)
+ return ok
-def resolveLink(url,name,thumb,plot):
- li=xbmcgui.ListItem(name,
- path = url,
- thumbnailImage=thumb)
- li.setInfo( type="Video", infoLabels={ "Title": name } )
- li.setInfo( type="Video", infoLabels={ "Plot": plot} )
- xbmcplugin.setResolvedUrl(int(sys.argv[1]), True, li)
- return True
-
-def get_params():
- param=[]
- paramstring=sys.argv[2]
- if len(paramstring)>=2:
- params=sys.argv[2]
- cleanedparams=params.replace('?','')
- if (params[len(params)-1]=='/'):
- params=params[0:len(params)-2]
- pairsofparams=cleanedparams.split('&')
- param={}
- for i in range(len(pairsofparams)):
- splitparams={}
- splitparams=pairsofparams[i].split('=')
- if (len(splitparams))==2:
- param[splitparams[0]]=splitparams[1]
-
- return param
-
-def addDir(name,start,iconimage):
- u=sys.argv[0]+"?start="+start
- liz=xbmcgui.ListItem(name, iconImage="DefaultFolder.png",
thumbnailImage=iconimage)
- liz.setInfo( type="Video", infoLabels={ "Title": name } )
-
ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,isFolder=True)
- return ok
+def resolveLink(url,name,plot):
+ li=xbmcgui.ListItem(name,
+ path = url)
+ li.setInfo( type="Video", infoLabels={ "Title": name } )
+ li.setInfo( type="Video", infoLabels={ "Plot": plot} )
+ xbmcplugin.setResolvedUrl(int(sys.argv[1]), True, li)
+ return True
__settings__ = xbmcaddon.Addon(id='plugin.video.rbk.no')
__language__ = __settings__.getLocalizedString
params=get_params()
try:
- start = params["start"]
+ url = urllib.unquote_plus(params["url"])
except:
- start = "0";
- pass
-try:
- id = params["id"]
-except:
- id = "0";
- pass
+ url = "";
+ pass
-iid = int(id);
-if iid > 0:
- RESOLVE(id)
+if len(url) > 0:
+ RESOLVE(url)
else:
- INDEX(start)
- istart = int(start);
- if istart > 0:
- addDir(__language__(30001),str(istart-25),'')
- addDir(__language__(30000),str(istart+25),'')
- xbmcplugin.addSortMethod(int(sys.argv[1]),xbmcplugin.SORT_METHOD_DATE)
- xbmcplugin.endOfDirectory(int(sys.argv[1]))
-
+ INDEX()
+ xbmcplugin.addSortMethod(int(sys.argv[1]),xbmcplugin.SORT_METHOD_DATE)
+ xbmcplugin.endOfDirectory(int(sys.argv[1]))
-----------------------------------------------------------------------
Summary of changes:
plugin.video.rbk.no/addon.xml | 3 +-
plugin.video.rbk.no/changelog.txt | 3 +
plugin.video.rbk.no/default.py | 197 ++++++++++++-------------------------
3 files changed, 68 insertions(+), 135 deletions(-)
hooks/post-receive
--
Plugins
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons