The branch, dharma has been updated
via 04c3926696e45be4d12b54fcc9c744253e0b6ae0 (commit)
via 9d0004626c6d1bbc8d24381359010c0e644a7ce4 (commit)
via 4abdfbf0a5f32227405a6467c4d768bfe096faad (commit)
via acf99823e41c92026f50701c05e221da046d7317 (commit)
from 855c28466307904fe34ec8fce796f06c6c00f2d8 (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=04c3926696e45be4d12b54fcc9c744253e0b6ae0
commit 04c3926696e45be4d12b54fcc9c744253e0b6ae0
Author: spiff <[email protected]>
Date: Tue Dec 7 20:22:57 2010 +0100
[plugin.audio.podcatcher] initial version (0.0.8). thanks to raptor 2101
diff --git a/.gitignore b/.gitignore
index 4b7e89a..758afb5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,3 +21,6 @@ plugin.video.nrk/.git
plugin.video.nederland24/.git
plugin.video.mediathek/.git
plugin.video.mediathek/.gitignore
+plugin.audio.podcatcher/.git
+plugin.audio.podcatcher/.gitignore
+plugin.audio.podcatcher/icon.xcf
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=9d0004626c6d1bbc8d24381359010c0e644a7ce4
commit 9d0004626c6d1bbc8d24381359010c0e644a7ce4
Author: spiff <[email protected]>
Date: Tue Dec 7 20:14:08 2010 +0100
[plugin.video.mediathek] initial version (0.1.4.). thanks to raptor 2101
diff --git a/.gitignore b/.gitignore
index 9535f10..4b7e89a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,3 +18,6 @@ plugin.video.tv3.ondemand/.git
plugin.video.tvnz.ondemand/.git
plugin.video.zoneminder/.git
plugin.video.nrk/.git
+plugin.video.nederland24/.git
+plugin.video.mediathek/.git
+plugin.video.mediathek/.gitignore
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=4abdfbf0a5f32227405a6467c4d768bfe096faad
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=acf99823e41c92026f50701c05e221da046d7317
commit acf99823e41c92026f50701c05e221da046d7317
Author: spiff <[email protected]>
Date: Tue Dec 7 18:48:02 2010 +0100
[plugin.video.twit] updated to version 0.0.7
diff --git a/plugin.video.twit/addon.xml b/plugin.video.twit/addon.xml
index afb4ef0..4781f72 100644
--- a/plugin.video.twit/addon.xml
+++ b/plugin.video.twit/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.twit"
name="TWiT"
- version="0.0.6"
+ version="0.0.7"
provider-name="divingmule,thanks to Adam B.">
<requires>
<import addon="xbmc.python" version="1.0"/>
diff --git a/plugin.video.twit/changelog.txt b/plugin.video.twit/changelog.txt
index a56954c..3c65fca 100644
--- a/plugin.video.twit/changelog.txt
+++ b/plugin.video.twit/changelog.txt
@@ -1,19 +1,23 @@
-Version 0.0.1
-inital
+Version 0.0.7
+twit live no longer ask if you want to resume
+resume working again for most shows
-Version 0.0.2
-updated icon.png
+Version 0.0.6
+now if video isn't up on the web site, we get the latest episode from the rss:
feed
-Version 0.0.3
-added release date to title
-added subtitle as plot
+Version 0.0.5
+added five new shows
+added addon settings for video quality
Version 0.0.4
fixed an issue with TNT
-Version 0.0.5
-added five new shows
-added addon settings for video quality
+Version 0.0.3
+added release date to title
+added subtitle as plot
-Version 0.0.6
-now if video isn't up on the web site, we get the latest episode from the rss:
feed
\ No newline at end of file
+Version 0.0.2
+updated icon.png
+
+Version 0.0.1
+inital
\ No newline at end of file
diff --git a/plugin.video.twit/default.py b/plugin.video.twit/default.py
index d12682c..bd1a7f8 100644
--- a/plugin.video.twit/default.py
+++ b/plugin.video.twit/default.py
@@ -1,167 +1,210 @@
-import urllib,urllib2,re,xbmcplugin,xbmcgui,xbmcaddon
-from BeautifulSoup import BeautifulStoneSoup
-
-__settings__ = xbmcaddon.Addon(id='plugin.video.twit')
-__language__ = __settings__.getLocalizedString
-videoq = __settings__.getSetting('video_quality')
-
-def CATEGORIES():
-
addLinkLive(__language__(30017),'http://bglive-a.bitgravity.com/twit/live/high','special://home/addons/plugin.video.twit/icon.png')
-
addDir(__language__(30000),'http://twit.tv/twit',1,'http://static.mediafly.com/publisher/images/ba85558acd844c7384921f9f96989a37/icon-600x600.png')
-
addDir(__language__(30001),'http://twit.tv/tnt',1,'http://static.mediafly.com/publisher/images/9ff0322cc0444e599a010cdb9005d90a/icon-600x600.png')
-
addDir(__language__(30002),'http://twit.tv/fourcast',1,'http://static.mediafly.com/publisher/images/f7f40bcf20c742cfb55cbccb56c2c68c/icon-600x600.png')
-
addDir(__language__(30003),'http://twit.tv/ipt',1,'http://static.mediafly.com/publisher/images/201bc64beb6b4956971650fd1462a704/icon-600x600.png')
-
addDir(__language__(30004),'http://twit.tv/gtt',1,'http://static.mediafly.com/publisher/images/0cc717b3cc94406a885e5df42cac2b13/icon-600x600.png')
-
addDir(__language__(30005),'http://twit.tv/twig',1,'http://static.mediafly.com/publisher/images/8248233e64fc4c68b722be0ec75d637d/icon-600x600.png')
-
addDir(__language__(30006),'http://twit.tv/ww',1,'http://static.mediafly.com/publisher/images/ad659facf4cb4fe795b595d9b4275daf/icon-600x600.png')
-
addDir(__language__(30007),'http://twit.tv/mbw',1,'http://static.mediafly.com/publisher/images/a24b7b336fb14a2ba3f1e31223f622ac/icon-600x600.png')
-
addDir(__language__(30008),'http://twit.tv/ttg',1,'http://static.mediafly.com/publisher/images/d51aaf03dcfe4502a49e885d4201c278/icon-600x600.png')
-
addDir(__language__(30009),'http://twit.tv/sn',1,'http://static.mediafly.com/publisher/images/1ac666ad22d940239754fe953207fb42/icon-600x600.png')
-
addDir(__language__(30010),'http://twit.tv/natn',1,'http://static.mediafly.com/publisher/images/7f7185fe4b564de7a6c79f8f57bb59eb/icon-600x600.png')
-
addDir(__language__(30011),'http://twit.tv/DGW',1,'http://static.mediafly.com/publisher/images/72acf86f350b40c5b5fd132dcacc78be/icon-600x600.png')
-
addDir(__language__(30012),'http://twit.tv/nsfw',1,'http://static.mediafly.com/publisher/images/54f4a471ae6c418d89647968a2ea9c91/icon-600x600.png')
-
addDir(__language__(30013),'http://twit.tv/kiki',1,'http://static.mediafly.com/publisher/images/c9ed18a67b134406a4d5fd357db8b0c9/icon-600x600.png')
-
addDir(__language__(30014),'http://twit.tv/floss',1,'http://static.mediafly.com/publisher/images/06cecab60c784f9d9866f5dcb73227c3/icon-600x600.png')
-
addDir(__language__(30015),'http://twit.tv/twil',1,'http://static.mediafly.com/publisher/images/b2911bcc34174461ba970d2e38507340/icon-600x600.png')
-
addDir(__language__(30016),'http://twit.tv/specials',1,'http://static.mediafly.com/publisher/images/eed22d09b9524474ac49bc022b556b2b/icon-600x600.png')
-
addDir(__language__(30022),'http://twit.tv/htg',1,'http://leoville.tv/podcasts/coverart/htg600audio.jpg')
-
addDir(__language__(30023),'http://twit.tv/fr',1,'http://static.mediafly.com/publisher/images/5a081f72180e41939e549ec7d12be24d/icon-600x600.png')
-
addDir(__language__(30024),'http://twit.tv/twich',1,'http://leoville.tv/podcasts/coverart/twich600audio.jpg')
-
addDir(__language__(30025),'http://twit.tv/FIB',1,'http://leoville.tv/podcasts/coverart/fib600audio.jpg')
-
addDir(__language__(30026),'http://twit.tv/twif',1,'http://leo.am/podcasts/coverart/twif600audio.jpg')
-
addDir(__language__(30027),'http://twit.tv/cgw',1,'http://static.mediafly.com/publisher/images/e974ef72d2134d7b91c2908e8ceb5850/icon-600x600.png')
-
-def INDEX(url):
- req = urllib2.Request(url)
- req.addheaders = [('Referer', 'http://twit.tv/'),
- ('Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US;
rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)')]
- response = urllib2.urlopen(req)
- link=response.read()
- response.close()
-
link=link.replace('&','').replace('#039;',"'").replace('amp;','').replace('quot;','"')
- match=re.compile('<h3 class="podcast-date">(.+?)</h3>\n <h2><a
href="(.+?)" title="(.+?)" alt=".+?">.+?</a></h2>\n
<p>(.+?)</p>\n').findall(link)
- for date,url,name,desc in match:
-
addLink(name,'http://twit.tv'+url,2,date,desc,'special://home/addons/plugin.video.twit/icon.png')
- page=re.compile('<div class="episode-prevnext clearfix"><a href=".+?"
class="episode-next pager-prev active"><span>Next</span></a><a href="(.+?)"
class="episode-prev pager-next
active"><span>Prev</span></a></div>').findall(link)
- if len(page)<1:
- page=re.compile('<span>Next</span></span><a href="(.+?)"
class="episode-prev pager-next active">').findall(link)
- for url in page:
- addDir('Next Page','http://twit.tv'+url,1,'')
-
-def VIDEOLINKS(url):
- req = urllib2.Request(url)
- req.addheaders = [('Referer', 'http://twit.tv/'),
- ('Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US;
rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)')]
- response = urllib2.urlopen(req)
- link=response.read()
- response.close()
- link=link.replace(' ','')
-
match=re.compile('</div>\n<divclass="download"><ahref="(.+?)">DownloadVideo\(\High\)\</a>').findall(link)
- for url in match:
- if videoq==__language__(30018):
-
url=url.replace('_h264b_864x480_500.mp4','_h264b_864x480_2000.mp4')
- elif videoq==__language__(30019):
-
url=url.replace('_h264b_864x480_500.mp4','_h264b_864x480_1000.mp4')
- elif videoq==__language__(30020):
-
url=url.replace('_h264b_864x480_500.mp4','_h264b_640x368_256.mp4')
- else:
- url=url
- play=xbmc.Player().play(url)
- if len(match)<1:
- print 'Trying rss: feed for the latest episode'
-
url=url.replace('twit','feeds.twit').rstrip('0123456789')+'_video_large'
- req = urllib2.Request(url)
- req.addheaders = [('Mozilla/5.0 (Windows; U; Windows NT 6.1;
en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)')]
- response = urllib2.urlopen(req)
- link=response.read()
- response.close()
- soup = BeautifulStoneSoup(link)
- Tag = soup.find('media:content')
- url = Tag['url']
- if videoq==__language__(30018):
-
url=url.replace('_h264b_640x368_500.mp4','_h264b_864x480_2000.mp4')
- elif videoq==__language__(30019):
-
url=url.replace('_h264b_640x368_500.mp4','_h264b_864x480_1000.mp4')
- elif videoq==__language__(30020):
-
url=url.replace('_h264b_640x368_500.mp4','_h264b_640x368_256.mp4')
- else:
- url=url
- play=xbmc.Player().play(url)
-
-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 addLinkLive(name,url,iconimage):
- ok=True
- liz=xbmcgui.ListItem(name, iconImage="DefaultVideo.png",
thumbnailImage=iconimage)
- liz.setInfo( type="Video", infoLabels={ "Title": name } )
-
ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=url,listitem=liz)
- return ok
-
-def addLink(name,url,mode,date,desc,iconimage):
-
u=sys.argv[0]+"?url="+urllib.quote_plus(url)+"&mode="+str(mode)+"&name="+urllib.quote_plus(name)
- ok=True
- liz=xbmcgui.ListItem(name, iconImage="DefaultVideo.png",
thumbnailImage=iconimage)
- description = desc + "\n \n Published: " + date
- liz.setInfo( type="Video", infoLabels={ "Title":
name,"Plot":description,"Date": date } )
-
ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz)
- return ok
-
-def addDir(name,url,mode,iconimage):
-
u=sys.argv[0]+"?url="+urllib.quote_plus(url)+"&mode="+str(mode)+"&name="+urllib.quote_plus(name)
- ok=True
- 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
-
-params=get_params()
-url=None
-name=None
-mode=None
-
-try:
- url=urllib.unquote_plus(params["url"])
-except:
- pass
-try:
- name=urllib.unquote_plus(params["name"])
-except:
- pass
-try:
- mode=int(params["mode"])
-except:
- pass
-
-print "Mode: "+str(mode)
-print "URL: "+str(url)
-print "Name: "+str(name)
-
-if mode==None or url==None or len(url)<1:
- print ""
- CATEGORIES()
-
-elif mode==1:
- print ""+url
- INDEX(url)
-
-elif mode==2:
- print ""+url
- VIDEOLINKS(url)
-
-xbmcplugin.endOfDirectory(int(sys.argv[1]))
\ No newline at end of file
+import urllib,urllib2,re,xbmcplugin,xbmcgui,xbmcaddon
+from BeautifulSoup import BeautifulSoup
+
+__settings__ = xbmcaddon.Addon(id='plugin.video.twit')
+__language__ = __settings__.getLocalizedString
+videoq = __settings__.getSetting('video_quality')
+
+
+def CATEGORIES():
+
addLinkLive(__language__(30017),'http://bglive-a.bitgravity.com/twit/live/high',4,'special://home/addons/plugin.video.twit/icon.png')
+
addDir(__language__(30000),'http://feeds.twit.tv/twit_video_large',1,'http://static.mediafly.com/publisher/images/ba85558acd844c7384921f9f96989a37/icon-600x600.png')
+
addDir(__language__(30001),'http://feeds.twit.tv/tnt_video_large',1,'http://static.mediafly.com/publisher/images/9ff0322cc0444e599a010cdb9005d90a/icon-600x600.png')
+
addDir(__language__(30002),'http://feeds.twit.tv/fc_video_large',1,'http://static.mediafly.com/publisher/images/f7f40bcf20c742cfb55cbccb56c2c68c/icon-600x600.png')
+
addDir(__language__(30003),'http://feeds.twit.tv/ipad_video_large',1,'http://static.mediafly.com/publisher/images/201bc64beb6b4956971650fd1462a704/icon-600x600.png')
+
addDir(__language__(30004),'http://feeds.twit.tv/gtt_video_large',1,'http://static.mediafly.com/publisher/images/0cc717b3cc94406a885e5df42cac2b13/icon-600x600.png')
+
addDir(__language__(30005),'http://feeds.twit.tv/twig_video_large',1,'http://static.mediafly.com/publisher/images/8248233e64fc4c68b722be0ec75d637d/icon-600x600.png')
+
addDir(__language__(30006),'http://feeds.twit.tv/ww_video_large',1,'http://static.mediafly.com/publisher/images/ad659facf4cb4fe795b595d9b4275daf/icon-600x600.png')
+
addDir(__language__(30007),'http://feeds.twit.tv/mbw_video_large',1,'http://static.mediafly.com/publisher/images/a24b7b336fb14a2ba3f1e31223f622ac/icon-600x600.png')
+
addDir(__language__(30008),'http://feeds.twit.tv/ttg_video_large',1,'http://static.mediafly.com/publisher/images/d51aaf03dcfe4502a49e885d4201c278/icon-600x600.png')
+
addDir(__language__(30009),'http://feeds.twit.tv/sn_video_large',1,'http://static.mediafly.com/publisher/images/1ac666ad22d940239754fe953207fb42/icon-600x600.png')
+
addDir(__language__(30010),'http://feeds.twit.tv/natn_video_large',1,'http://static.mediafly.com/publisher/images/7f7185fe4b564de7a6c79f8f57bb59eb/icon-600x600.png')
+
addDir(__language__(30011),'http://feeds.twit.tv/dgw_video_large',1,'http://static.mediafly.com/publisher/images/72acf86f350b40c5b5fd132dcacc78be/icon-600x600.png')
+
addDir(__language__(30012),'http://feeds.twit.tv/nsfw_video_large',1,'http://static.mediafly.com/publisher/images/54f4a471ae6c418d89647968a2ea9c91/icon-600x600.png')
+
addDir(__language__(30013),'http://feeds.twit.tv/dksh_video_large',1,'http://static.mediafly.com/publisher/images/c9ed18a67b134406a4d5fd357db8b0c9/icon-600x600.png')
+
addDir(__language__(30014),'http://feeds.twit.tv/floss_video_large',1,'http://static.mediafly.com/publisher/images/06cecab60c784f9d9866f5dcb73227c3/icon-600x600.png')
+
addDir(__language__(30015),'http://feeds.twit.tv/twil_video_large',1,'http://static.mediafly.com/publisher/images/b2911bcc34174461ba970d2e38507340/icon-600x600.png')
+
addDir(__language__(30016),'http://feeds.twit.tv/specials_video_large',1,'http://static.mediafly.com/publisher/images/eed22d09b9524474ac49bc022b556b2b/icon-600x600.png')
+
addDir(__language__(30022),'http://twit.tv/htg',2,'http://leoville.tv/podcasts/coverart/htg600audio.jpg')
+
addDir(__language__(30023),'http://feeds.twit.tv/fr_video_large',1,'http://static.mediafly.com/publisher/images/5a081f72180e41939e549ec7d12be24d/icon-600x600.png')
+
addDir(__language__(30024),'http://twit.tv/twich',2,'http://leoville.tv/podcasts/coverart/twich600audio.jpg')
+
addDir(__language__(30025),'http://twit.tv/FIB',2,'http://leoville.tv/podcasts/coverart/fib600audio.jpg')
+
addDir(__language__(30026),'http://twit.tv/twif',2,'http://leo.am/podcasts/coverart/twif600audio.jpg')
+
addDir(__language__(30027),'http://feeds.twit.tv/cgw_video_large',1,'http://static.mediafly.com/publisher/images/e974ef72d2134d7b91c2908e8ceb5850/icon-600x600.png')
+
+
+def INDEX(url):
+ req = urllib2.Request(url)
+ req.addheaders = [('Mozilla/5.0 (Windows; U; Windows NT 6.1;
en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)')]
+ response = urllib2.urlopen(req)
+ link=response.read()
+ response.close()
+ if videoq==__language__(30018):
+
link=link.replace('_h264b_640x368_500','_h264b_864x480_2000')
+ elif videoq==__language__(30019):
+
link=link.replace('_h264b_640x368_500','_h264b_864x480_1000')
+ elif videoq==__language__(30020):
+
link=link.replace('_h264b_640x368_500','_h264b_640x368_256')
+ else:
+ link=link
+ link=link.replace('&',' & ')
+ soup = BeautifulSoup(link)
+ info = soup.findAll('enclosure')
+ url=re.compile('<enclosure url="(.+?)" length=".+?"
type="video/mp4" mediafly:profile="H264b_640x368_500">').findall(str(info))
+ title = soup.findAll('title')
+ del title[0];del title[0]
+ name=re.compile('<title>(.+?)</title>').findall(str(title))
+ desc = soup.findAll('itunes:subtitle')
+ del desc[0]
+
description=re.compile('<itunes:subtitle>(.+?)</itunes:subtitle>').findall(str(desc))
+ pubdate = soup.findAll('pubdate')
+ del pubdate[0]
+
date=re.compile('<pubdate>(.+?)</pubdate>').findall(str(pubdate))
+ for index in range (len(name)):
+
addLink(name[index],url[index],description[index],date[index],'','special://home/addons/plugin.video.twit/icon.png')
+
+
+def INDEXWebsite(url):
+ req = urllib2.Request(url)
+ req.addheaders = [('Referer', 'http://twit.tv/'),
+ ('Mozilla/5.0 (Windows; U; Windows NT 6.1;
en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)')]
+ response = urllib2.urlopen(req)
+ link=response.read()
+ response.close()
+
link=link.replace('&','').replace('#039;',"'").replace('amp;','').replace('quot;','"')
+ match=re.compile('<h3 class="podcast-date">(.+?)</h3>\n
<h2><a href="(.+?)" title="(.+?)" alt=".+?">.+?</a></h2>\n
<p>(.+?)</p>\n').findall(link)
+ for date,url,name,description in match:
+
addWebLink(name,'http://twit.tv'+url,description,date,3,'special://home/addons/plugin.video.twit/icon.png')
+ page=re.compile('<div class="episode-prevnext clearfix"><a
href=".+?" class="episode-next pager-prev active"><span>Next</span></a><a
href="(.+?)" class="episode-prev pager-next
active"><span>Prev</span></a></div>').findall(link)
+ if len(page)<1:
+ page=re.compile('<span>Next</span></span><a
href="(.+?)" class="episode-prev pager-next active">').findall(link)
+ for url in page:
+ addDir('Next Page','http://twit.tv'+url,2,'')
+
+
+def VIDEOLINKS(url):
+ req = urllib2.Request(url)
+ req.addheaders = [('Referer', 'http://twit.tv/'),
+ ('Mozilla/5.0 (Windows; U; Windows NT 6.1;
en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)')]
+ response = urllib2.urlopen(req)
+ link=response.read()
+ response.close()
+ link=link.replace(' ','')
+
match=re.compile('</div>\n<divclass="download"><ahref="(.+?)">DownloadVideo\(\High\)\</a>').findall(link)
+ if len(match)<1:
+ dialog = xbmcgui.Dialog()
+ ok =
dialog.ok('TWiT',__settings__.getLocalizedString(30028))
+ print 'Sorry video not up yet'
+ for url in match:
+ aurl=url[0:-15]
+ if videoq==__language__(30018):
+ url=aurl+('864x480_2000.mp4')
+ elif videoq==__language__(30019):
+ url=aurl+('864x480__1000.mp4')
+ elif videoq==__language__(30020):
+
url=aurl+('864x480_640x368_256.mp4')
+ else:
+ url=url
+ play=xbmc.Player().play(url)
+
+
+def PLAYLIVE(url):
+ play=xbmc.Player().play(url)
+
+
+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 addLink(name,url,description,date,mode,iconimage):
+ ok=True
+ liz=xbmcgui.ListItem(name, iconImage="DefaultVideo.png",
thumbnailImage=iconimage)
+ description = description + "\n \n Published: " + date
+ liz.setInfo( type="Video", infoLabels={ "Title":
name,"Plot":description,"Date": date } )
+
ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=url,listitem=liz)
+ return ok
+
+def addWebLink(name,url,description,date,mode,iconimage):
+
u=sys.argv[0]+"?url="+urllib.quote_plus(url)+"&mode="+str(mode)+"&name="+urllib.quote_plus(name)
+ ok=True
+ description = description + "\n \n Published: " + date
+ liz=xbmcgui.ListItem(name, iconImage="DefaultFolder.png",
thumbnailImage=iconimage)
+ liz.setInfo( type="Video", infoLabels={ "Title":
name,"Plot":description,"Date": date } )
+
ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz)
+ return ok
+
+def addDir(name,url,mode,iconimage):
+
u=sys.argv[0]+"?url="+urllib.quote_plus(url)+"&mode="+str(mode)+"&name="+urllib.quote_plus(name)
+ ok=True
+ 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 addLinkLive(name,url,mode,iconimage):
+
u=sys.argv[0]+"?url="+urllib.quote_plus(url)+"&mode="+str(mode)+"&name="+urllib.quote_plus(name)
+ ok=True
+ liz=xbmcgui.ListItem(name, iconImage="DefaultFolder.png",
thumbnailImage=iconimage)
+
ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz)
+ return ok
+
+
+params=get_params()
+url=None
+name=None
+mode=None
+
+try:
+ url=urllib.unquote_plus(params["url"])
+except:
+ pass
+try:
+ name=urllib.unquote_plus(params["name"])
+except:
+ pass
+try:
+ mode=int(params["mode"])
+except:
+ pass
+
+print "Mode: "+str(mode)
+print "URL: "+str(url)
+print "Name: "+str(name)
+
+if mode==None or url==None or len(url)<1:
+ print ""
+ CATEGORIES()
+
+elif mode==1:
+ print ""+url
+ INDEX(url)
+
+elif mode==2:
+ print ""+url
+ INDEXWebsite(url)
+
+elif mode==3:
+ print ""+url
+ VIDEOLINKS(url)
+
+elif mode==4:
+ print ""+url
+ PLAYLIVE(url)
+
+
+xbmcplugin.endOfDirectory(int(sys.argv[1]))
diff --git a/plugin.video.twit/resources/language/English/strings.xml
b/plugin.video.twit/resources/language/English/strings.xml
index 6dff876..421fc9f 100644
--- a/plugin.video.twit/resources/language/English/strings.xml
+++ b/plugin.video.twit/resources/language/English/strings.xml
@@ -28,4 +28,5 @@
<string id='30025'>Futures in Biotech</string>
<string id='30026'>this WEEK in FUN</string>
<string id='30027'>Current Geek Weekly</string>
+ <string id='30028'>Sorry, video not up yet.</string>
</strings>
-----------------------------------------------------------------------
Summary of changes:
.gitignore | 6 +
plugin.audio.podcatcher/README-DE | 9 +
plugin.audio.podcatcher/README-EN | 10 +
plugin.audio.podcatcher/addon.xml | 29 ++
plugin.audio.podcatcher/changelog.txt | 16 +
plugin.audio.podcatcher/default.py | 106 ++++
plugin.audio.podcatcher/feedreader/__init__.py | 205 ++++++++
plugin.audio.podcatcher/feedreader/archivefile.py | 28 +
plugin.audio.podcatcher/feedreader/feedfactory.py | 24 +
plugin.audio.podcatcher/feedreader/opml.py | 121 +++++
plugin.audio.podcatcher/feedreader/rss.py | 85 ++++
plugin.audio.podcatcher/icon.png | Bin 0 -> 121717 bytes
.../resources/language/English/strings.xml | 11 +
.../resources/language/German/strings.xml | 11 +
plugin.audio.podcatcher/simplexbmc.py | 144 ++++++
plugin.video.mediathek/LICENSE.txt | 533 ++++++++++++++++++++
plugin.video.mediathek/addon.xml | 28 +
plugin.video.mediathek/changelog.txt | 5 +
plugin.video.mediathek/default.py | 69 +++
plugin.video.mediathek/fetchOfflineData.py | 92 ++++
plugin.video.mediathek/html.py | 35 ++
plugin.video.mediathek/icon.png | Bin 0 -> 93751 bytes
plugin.video.mediathek/mediathek/__init__.py | 110 ++++
plugin.video.mediathek/mediathek/ard.py | 213 ++++++++
plugin.video.mediathek/mediathek/arte.py | 150 ++++++
plugin.video.mediathek/mediathek/dreisat.py | 138 +++++
plugin.video.mediathek/mediathek/factory.py | 36 ++
plugin.video.mediathek/mediathek/zdf.py | 232 +++++++++
.../resources/language/English/strings.xml | 17 +
.../resources/language/German/strings.xml | 17 +
plugin.video.mediathek/resources/logos/ard.jpg | Bin 0 -> 3418 bytes
plugin.video.mediathek/resources/logos/arte.jpeg | Bin 0 -> 3962 bytes
plugin.video.mediathek/resources/logos/phoenix.jpg | Bin 0 -> 3803 bytes
plugin.video.mediathek/resources/logos/zdf.jpg | Bin 0 -> 8180 bytes
plugin.video.mediathek/resources/settings.xml | 11 +
plugin.video.mediathek/simplexbmc.py | 119 +++++
plugin.video.mediathek/simplexml.py | 214 ++++++++
.../LICENSE.txt | 0
plugin.video.nederland24/README | 3 +
plugin.video.nederland24/addon.xml | 19 +
plugin.video.nederland24/changelog.txt | 7 +
plugin.video.nederland24/default.py | 35 ++
plugin.video.nederland24/icon.png | Bin 0 -> 30495 bytes
plugin.video.nederland24/icons/101tv.png | Bin 0 -> 27170 bytes
plugin.video.nederland24/icons/best24.png | Bin 0 -> 25277 bytes
plugin.video.nederland24/icons/consumenten24.png | Bin 0 -> 13975 bytes
plugin.video.nederland24/icons/cultura24.png | Bin 0 -> 15302 bytes
plugin.video.nederland24/icons/familie24.png | Bin 0 -> 24780 bytes
plugin.video.nederland24/icons/geschiedenis24.png | Bin 0 -> 14714 bytes
plugin.video.nederland24/icons/hollanddoc24.png | Bin 0 -> 14135 bytes
plugin.video.nederland24/icons/humortv24.png | Bin 0 -> 16493 bytes
plugin.video.nederland24/icons/journaal24.png | Bin 0 -> 16683 bytes
plugin.video.nederland24/icons/politiek24.png | Bin 0 -> 16436 bytes
plugin.video.nederland24/icons/spirit24.png | Bin 0 -> 19841 bytes
plugin.video.nederland24/icons/sterren24.png | Bin 0 -> 17998 bytes
plugin.video.twit/addon.xml | 2 +-
plugin.video.twit/changelog.txt | 28 +-
plugin.video.twit/default.py | 377 ++++++++------
.../resources/language/English/strings.xml | 1 +
59 files changed, 3116 insertions(+), 180 deletions(-)
create mode 100644 plugin.audio.podcatcher/README-DE
create mode 100644 plugin.audio.podcatcher/README-EN
create mode 100644 plugin.audio.podcatcher/addon.xml
create mode 100644 plugin.audio.podcatcher/changelog.txt
create mode 100644 plugin.audio.podcatcher/default.py
create mode 100644 plugin.audio.podcatcher/feedreader/__init__.py
create mode 100644 plugin.audio.podcatcher/feedreader/archivefile.py
create mode 100644 plugin.audio.podcatcher/feedreader/feedfactory.py
create mode 100644 plugin.audio.podcatcher/feedreader/opml.py
create mode 100644 plugin.audio.podcatcher/feedreader/rss.py
create mode 100644 plugin.audio.podcatcher/icon.png
create mode 100644
plugin.audio.podcatcher/resources/language/English/strings.xml
create mode 100644
plugin.audio.podcatcher/resources/language/German/strings.xml
create mode 100644 plugin.audio.podcatcher/simplexbmc.py
create mode 100644 plugin.video.mediathek/LICENSE.txt
create mode 100644 plugin.video.mediathek/addon.xml
create mode 100644 plugin.video.mediathek/changelog.txt
create mode 100644 plugin.video.mediathek/default.py
create mode 100644 plugin.video.mediathek/fetchOfflineData.py
create mode 100644 plugin.video.mediathek/html.py
create mode 100644 plugin.video.mediathek/icon.png
create mode 100644 plugin.video.mediathek/mediathek/__init__.py
create mode 100644 plugin.video.mediathek/mediathek/ard.py
create mode 100644 plugin.video.mediathek/mediathek/arte.py
create mode 100644 plugin.video.mediathek/mediathek/dreisat.py
create mode 100644 plugin.video.mediathek/mediathek/factory.py
create mode 100644 plugin.video.mediathek/mediathek/zdf.py
create mode 100644
plugin.video.mediathek/resources/language/English/strings.xml
create mode 100644 plugin.video.mediathek/resources/language/German/strings.xml
create mode 100644 plugin.video.mediathek/resources/logos/ard.jpg
create mode 100644 plugin.video.mediathek/resources/logos/arte.jpeg
create mode 100644 plugin.video.mediathek/resources/logos/phoenix.jpg
create mode 100644 plugin.video.mediathek/resources/logos/zdf.jpg
create mode 100644 plugin.video.mediathek/resources/settings.xml
create mode 100644 plugin.video.mediathek/simplexbmc.py
create mode 100644 plugin.video.mediathek/simplexml.py
copy {plugin.audio.listenliveeu => plugin.video.nederland24}/LICENSE.txt (100%)
create mode 100644 plugin.video.nederland24/README
create mode 100644 plugin.video.nederland24/addon.xml
create mode 100644 plugin.video.nederland24/changelog.txt
create mode 100644 plugin.video.nederland24/default.py
create mode 100644 plugin.video.nederland24/icon.png
create mode 100644 plugin.video.nederland24/icons/101tv.png
create mode 100644 plugin.video.nederland24/icons/best24.png
create mode 100644 plugin.video.nederland24/icons/consumenten24.png
create mode 100644 plugin.video.nederland24/icons/cultura24.png
create mode 100644 plugin.video.nederland24/icons/familie24.png
create mode 100644 plugin.video.nederland24/icons/geschiedenis24.png
create mode 100644 plugin.video.nederland24/icons/hollanddoc24.png
create mode 100644 plugin.video.nederland24/icons/humortv24.png
create mode 100644 plugin.video.nederland24/icons/journaal24.png
create mode 100644 plugin.video.nederland24/icons/politiek24.png
create mode 100644 plugin.video.nederland24/icons/spirit24.png
create mode 100644 plugin.video.nederland24/icons/sterren24.png
hooks/post-receive
--
Plugins
------------------------------------------------------------------------------
What happens now with your Lotus Notes apps - do you make another costly
upgrade, or settle for being marooned without product support? Time to move
off Lotus Notes and onto the cloud with Force.com, apps are easier to build,
use, and manage than apps on traditional platforms. Sign up for the Lotus
Notes Migration Kit to learn more. http://p.sf.net/sfu/salesforce-d2d
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons