The branch, eden has been updated
via 94b8b55a9fabfa782dbd79ab31ca617aaa9d2606 (commit)
via 01cc51a97a72eefed9023e1e2d3532bcd0669a9f (commit)
via cc5b144442fd9c8788acf57266b3cbf76c2d5cc8 (commit)
from a5d692c0f266b23b78adec2c0b877576bb141a4b (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=94b8b55a9fabfa782dbd79ab31ca617aaa9d2606
commit 94b8b55a9fabfa782dbd79ab31ca617aaa9d2606
Author: spiff <spiff@...>
Date: Thu Oct 25 13:51:33 2012 +0200
[plugin.video.tvkaista] updated to version 3.0.3
diff --git a/plugin.video.tvkaista/changelog.txt b/plugin.video.tvkaista/changelog.txt
index 409357e..4d8a84e 100644
--- a/plugin.video.tvkaista/changelog.txt
+++ b/plugin.video.tvkaista/changelog.txt
@@ -1,3 +1,5 @@
+[B]3.0.3[/B]
+- Bugfix+add custom user-agent string as requested by tvkaista api documentation
[B]3.0.2[/B]
- Bugfix
[B]3.0.1[/B]
diff --git a/plugin.video.tvkaista/default.py b/plugin.video.tvkaista/default.py
index 73d7f1a..4395401 100644
--- a/plugin.video.tvkaista/default.py
+++ b/plugin.video.tvkaista/default.py
@@ -1,6 +1,6 @@
#xbmc tvkaista.fi plugin
#
-#Copyright (C) 2009-2011 Viljo Viitanen <viljo.viitanen@...>
+#Copyright (C) 2009-2012 Viljo Viitanen <viljo.viitanen@...>
#Copyright (C) 2010 stilester
#Copyright (C) 2008-2009 J. Luukko
#
@@ -31,6 +31,8 @@
#7.1.2011 tuki tvkaistan proxyille
#11.8.2011 naytetaan aika aina Suomen ajassa
#13.11.2011 proxytuki pois tarpeettomana, sarjojen sorttaus
+#24.10.2012 bugikorjaus, lisatty oma user-agent tvkaistan dokumentaation mukaan
+# fiksumpi virheilmoitus vaarasta kayttajatunnuksesta/salasanasta
import locale
locale.setlocale(locale.LC_ALL, 'C')
@@ -38,6 +40,9 @@ locale.setlocale(locale.LC_ALL, 'C')
import xbmcgui, urllib, urllib2, cookielib , re, os, xbmcplugin, htmlentitydefs, time, xbmcaddon, calendar
tvkaista_addon = xbmcaddon.Addon("plugin.video.tvkaista");
+VERSION = "3.0.3"
+MYHEADERS = { 'User-Agent': "tvkaista-xbmc version "+VERSION+";" }
+
BASE_RESOURCE_PATH = xbmc.translatePath( os.path.join( tvkaista_addon.getAddonInfo('path'), "resources" ) )
sys.path.append( os.path.join( BASE_RESOURCE_PATH, "lib" ) )
@@ -168,14 +173,22 @@ def listprograms(url):
passman.add_password(None, "http://www.tvkaista.fi", tvkaista_addon.getSetting("username"), \
tvkaista_addon.getSetting("password"))
opener = urllib2.build_opener(urllib2.HTTPBasicAuthHandler(passman))
- urllib2.install_opener(opener)
#print "listprograms avataan: "+url+'/'+bitrate()+'.rss'
try:
- content = urllib2.urlopen(url+'/'+bitrate()+'.rss').read()
+ if url.endswith('/'):
+ needslash=''
+ else:
+ needslash='/'
+ request = urllib2.Request(url+needslash+bitrate()+'.rss', headers=MYHEADERS)
+ content = opener.open(request).read()
except urllib2.HTTPError,e:
+ if e.code == 401:
+ desc=" (virheellinen kayttajatunnus tai salasana)"
+ else:
+ desc=""
u=sys.argv[0]
- listfolder = xbmcgui.ListItem('www-pyynto ei onnistunut '+str(e.code))
- listfolder.setInfo('video', {'Title': 'www-pyynto ei onnistunut '+str(e.code)})
+ listfolder = xbmcgui.ListItem('www-pyynto ei onnistunut '+str(e.code)+desc)
+ listfolder.setInfo('video', {'Title': 'www-pyynto ei onnistunut '+str(e.code)+desc})
xbmcplugin.addDirectoryItem(int(sys.argv[1]), u, listfolder, isFolder=0)
xbmcplugin.endOfDirectory(int(sys.argv[1]))
return
@@ -263,14 +276,18 @@ def listdates(url):
passman.add_password(None, "http://www.tvkaista.fi", tvkaista_addon.getSetting("username"), \
tvkaista_addon.getSetting("password"))
opener = urllib2.build_opener(urllib2.HTTPBasicAuthHandler(passman))
- urllib2.install_opener(opener)
#print "listdates avataan: "+url
try:
- content = urllib2.urlopen('http://www.tvkaista.fi/feed/channels/').read()
+ request = urllib2.Request('http://www.tvkaista.fi/feed/channels/', headers=MYHEADERS)
+ content = opener.open(request).read()
except urllib2.HTTPError,e:
+ if e.code == 401:
+ desc=" (virheellinen kayttajatunnus tai salasana)"
+ else:
+ desc=""
u=sys.argv[0]
- listfolder = xbmcgui.ListItem('www-pyynto ei onnistunut '+str(e.code))
- listfolder.setInfo('video', {'Title': 'www-pyynto ei onnistunut '+str(e.code)})
+ listfolder = xbmcgui.ListItem('www-pyynto ei onnistunut '+str(e.code)+desc)
+ listfolder.setInfo('video', {'Title': 'www-pyynto ei onnistunut '+str(e.code)+desc})
xbmcplugin.addDirectoryItem(int(sys.argv[1]), u, listfolder, isFolder=1)
xbmcplugin.endOfDirectory(int(sys.argv[1]))
return
@@ -301,14 +318,18 @@ def listfeeds(url):
passman.add_password(None, "http://www.tvkaista.fi", tvkaista_addon.getSetting("username"), \
tvkaista_addon.getSetting("password"))
opener = urllib2.build_opener(urllib2.HTTPBasicAuthHandler(passman))
- urllib2.install_opener(opener)
#print "listfeeds avataan: "+url
try:
- content = urllib2.urlopen(url).read()
+ request = urllib2.Request(url, headers=MYHEADERS)
+ content = opener.open(request).read()
except urllib2.HTTPError,e:
+ if e.code == 401:
+ desc=" (virheellinen kayttajatunnus tai salasana)"
+ else:
+ desc=""
u=sys.argv[0]
- listfolder = xbmcgui.ListItem('www-pyynto ei onnistunut '+str(e.code))
- listfolder.setInfo('video', {'Title': 'www-pyynto ei onnistunut '+str(e.code)})
+ listfolder = xbmcgui.ListItem('www-pyynto ei onnistunut '+str(e.code)+desc)
+ listfolder.setInfo('video', {'Title': 'www-pyynto ei onnistunut '+str(e.code)+desc})
xbmcplugin.addDirectoryItem(int(sys.argv[1]), u, listfolder, isFolder=1)
xbmcplugin.endOfDirectory(int(sys.argv[1]))
return
@@ -377,20 +398,25 @@ def addremove(action,id):
'password': tvkaista_addon.getSetting("password"), 'rememberme':'on'}
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
- r = opener.open('http://www.tvkaista.fi/login/', urllib.urlencode(opts))
+ request = urllib2.Request('http://www.tvkaista.fi/login/', headers=MYHEADERS)
+ r = opener.open(request, urllib.urlencode(opts))
dialog = xbmcgui.Dialog()
try:
if action==1:
- r = opener.open("http://www.tvkaista.fi/recordings/?action=addtoplaylist&id=%s"%id)
+ request = urllib2.Request("http://www.tvkaista.fi/recordings/?action=addtoplaylist&id=%s"%id, headers=MYHEADERS)
+ r = opener.open(request)
dialog.ok('Tvkaista', 'Ohjelma lisatty listalle.')
elif action==2:
- r = opener.open("http://www.tvkaista.fi/recordings/?action=removefromplaylist&id=%s"%id)
+ request = urllib2.Request("http://www.tvkaista.fi/recordings/?action=removefromplaylist&id=%s"%id, headers=MYHEADERS)
+ r = opener.open(request)
dialog.ok('Tvkaista', 'Ohjelma poistettu listalta.')
elif action==3:
- r = opener.open("http://www.tvkaista.fi/recordings/?action=addseasonpass&id=%s"%id)
+ request = urllib2.Request("http://www.tvkaista.fi/recordings/?action=addseasonpass&id=%s"%id, headers=MYHEADERS)
+ r = opener.open(request)
dialog.ok('Tvkaista', 'Ohjelma lisatty sarjoihin')
elif action==4:
- r = opener.open("http://www.tvkaista.fi/recordings/?action=removeseasonpass&spid=%s"%id)
+ request = urllib2.Request("http://www.tvkaista.fi/recordings/?action=removeseasonpass&spid=%s"%id, headers=MYHEADERS)
+ r = opener.open(request)
dialog.ok('Tvkaista', 'Ohjelma poistettu sarjoista.')
else:
dialog.ok('Tvkaista', 'Ohjelmavirhe!')
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=01cc51a97a72eefed9023e1e2d3532bcd0669a9f
commit 01cc51a97a72eefed9023e1e2d3532bcd0669a9f
Author: spiff <spiff@...>
Date: Thu Oct 25 13:49:55 2012 +0200
[plugin.video.tv3play.dk] updated to version 1.0.3
diff --git a/.gitignore b/.gitignore
index 1e5ae56..43304fe 100644
--- a/.gitignore
+++ b/.gitignore
@@ -107,3 +107,5 @@ plugin.video.goldpagemedia/.gitignore
plugin.video.goldpagemedia/.git
plugin.video.railscast/.gitignore
plugin.video.railscast/.git
+plugin.video.tv3play.dk/.git
+plugin.video.tv3play.dk/.idea
diff --git a/plugin.video.tv3play.dk/addon.py b/plugin.video.tv3play.dk/addon.py
index 3a0634a..39b796b 100644
--- a/plugin.video.tv3play.dk/addon.py
+++ b/plugin.video.tv3play.dk/addon.py
@@ -119,6 +119,8 @@ class TV3PlayAddon(object):
url = 'http://www.%s/program/%s' % (region, slug)
buggalo.addExtraData('url', url)
html = self.downloadUrl(url)
+ if not html:
+ raise TV3PlayException(ADDON.getLocalizedString(204))
fanart = self.downloadAndCacheFanart(slug, html)
m = re.search('Table body(.*?)</tbody>.*?Table body(.*?)</tbody>', html, re.DOTALL)
@@ -172,6 +174,8 @@ class TV3PlayAddon(object):
url = 'http://www.%s/rss/%s' % (region, RSS[int(id)])
buggalo.addExtraData('url', url)
xml = self.downloadUrl(url)
+ if not xml:
+ raise TV3PlayException(ADDON.getLocalizedString(204))
doc = ElementTree.fromstring(xml.replace('&', '&'))
items = list()
@@ -210,6 +214,8 @@ class TV3PlayAddon(object):
playlist = xbmc.PlayList(xbmc.PLAYLIST_VIDEO)
playlist.clear()
+ firstItem = None
+
# Preroll
prerollNode = doc.find('Product/AdCalls/preroll')
if prerollNode is not None:
@@ -220,6 +226,8 @@ class TV3PlayAddon(object):
item = xbmcgui.ListItem(ADDON.getLocalizedString(100), iconImage = ICON)
playlist.add(flvUrl, item)
+ firstItem = item
+
start = 0
for idx, node in enumerate(doc.findall('Product/AdCalls/midroll')):
adXml = self.downloadUrl(node.get('url'))
@@ -236,6 +244,9 @@ class TV3PlayAddon(object):
playlist.add(itemUrl, featureItem)
start = stop
+ if firstItem is None:
+ firstItem = featureItem
+
item = xbmcgui.ListItem(ADDON.getLocalizedString(100), iconImage = ICON)
playlist.add(adUrl, item)
@@ -253,14 +264,20 @@ class TV3PlayAddon(object):
item = xbmcgui.ListItem(ADDON.getLocalizedString(100), iconImage = ICON)
playlist.add(flvUrl, item)
- xbmcplugin.setResolvedUrl(HANDLE, True, playlist[0])
+ if firstItem is not None:
+ xbmcplugin.setResolvedUrl(HANDLE, True, firstItem)
+ else:
+ xbmcplugin.setResolvedUrl(HANDLE, False, xbmcgui.ListItem())
def getPlayProductXml(self, videoId):
url = 'http://viastream.viasat.tv/PlayProduct/%s' % videoId
buggalo.addExtraData('playProductXml', url)
xml = self.downloadUrl(url)
- xml = re.sub('&[^a]', '&', xml)
- return ElementTree.fromstring(xml)
+ if xml:
+ xml = re.sub('&[^a]', '&', xml)
+ return ElementTree.fromstring(xml)
+ else:
+ return ElementTree.Element('data-not-loaded') # to avoid unnessecary error handling
def getRtmpUrl(self, videoUrl):
if videoUrl[0:4] == 'rtmp':
@@ -281,7 +298,7 @@ class TV3PlayAddon(object):
if xml:
return ElementTree.fromstring(xml.decode('utf8', 'ignore'))
else:
- return None
+ return ElementTree.Element('data-not-loaded') # to avoid unnessecary error handling
def downloadAndCacheFanart(self, slug, html):
fanartPath = os.path.join(CACHE_PATH, '%s.jpg' % slug.encode('iso-8859-1', 'replace'))
diff --git a/plugin.video.tv3play.dk/addon.xml b/plugin.video.tv3play.dk/addon.xml
index e549ac8..e55302d 100644
--- a/plugin.video.tv3play.dk/addon.xml
+++ b/plugin.video.tv3play.dk/addon.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<addon id="plugin.video.tv3play.dk" version="1.0.2" name="TV3 Play" provider-name="twinther [tommy@...]">
+<addon id="plugin.video.tv3play.dk" version="1.0.3" name="TV3 Play" provider-name="twinther [tommy@...]">
<requires>
<import addon="xbmc.python" version="2.0"/>
<import addon="script.module.buggalo" version="1.0.1"/>
diff --git a/plugin.video.tv3play.dk/changelog.txt b/plugin.video.tv3play.dk/changelog.txt
index dcdb992..af93bd9 100644
--- a/plugin.video.tv3play.dk/changelog.txt
+++ b/plugin.video.tv3play.dk/changelog.txt
@@ -1,3 +1,8 @@
+[B]Version 1.0.3 - 2012-10-21[/B]
+- Added Norwegian translation (thanks cptspiff)
+- Fixed problems with differences between Eden and Frodo (http://trac.xbmc.org/ticket/13349)
+- Improved handling of HTTP errors
+
[B]Version 1.0.2 - 2012-04-29[/B]
- Added region selection as first screen
- Added support viasat4play.no
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=cc5b144442fd9c8788acf57266b3cbf76c2d5cc8
commit cc5b144442fd9c8788acf57266b3cbf76c2d5cc8
Author: spiff <spiff@...>
Date: Thu Oct 25 13:47:51 2012 +0200
[plugin.video.dr.dk.bonanza] updated to version 2.1.4
diff --git a/plugin.video.dr.dk.bonanza/addon.py b/plugin.video.dr.dk.bonanza/addon.py
index b86624a..0c48980 100644
--- a/plugin.video.dr.dk.bonanza/addon.py
+++ b/plugin.video.dr.dk.bonanza/addon.py
@@ -166,14 +166,20 @@ class Bonanza(object):
playlist = xbmc.PlayList(xbmc.PLAYLIST_VIDEO)
playlist.clear()
- print PARAMS
+ firstItem = None
for type in VIDEO_TYPES:
if PARAMS.has_key(type.lower()):
url = self.fixRtmpUrl(PARAMS[type.lower()][0])
item = xbmcgui.ListItem(type, path = url)
playlist.add(url, item)
- xbmcplugin.setResolvedUrl(HANDLE, True, playlist[0])
+ if firstItem is None:
+ firstItem = item
+
+ if firstItem is not None:
+ xbmcplugin.setResolvedUrl(HANDLE, True, firstItem)
+ else:
+ xbmcplugin.setResolvedUrl(HANDLE, False, xbmcgui.ListItem())
def fixRtmpUrl(self, url):
if url[0:4] == 'rtmp':
diff --git a/plugin.video.dr.dk.bonanza/addon.xml b/plugin.video.dr.dk.bonanza/addon.xml
index 1035c29..e857faa 100644
--- a/plugin.video.dr.dk.bonanza/addon.xml
+++ b/plugin.video.dr.dk.bonanza/addon.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<addon id="plugin.video.dr.dk.bonanza" version="2.1.3" name="DR.dk Bonanza" provider-name="twinther [tommy@...]">
+<addon id="plugin.video.dr.dk.bonanza" version="2.1.4" name="DR.dk Bonanza" provider-name="twinther [tommy@...]">
<requires>
<import addon="xbmc.python" version="2.0"/>
<import addon="script.module.simplejson" version="2.0.10"/>
- <import addon="script.module.buggalo" version="1.0.1"/>
+ <import addon="script.module.buggalo" version="1.1.2"/>
</requires>
<extension point="xbmc.python.pluginsource" library="addon.py">
<provides>video</provides>
diff --git a/plugin.video.dr.dk.bonanza/changelog.txt b/plugin.video.dr.dk.bonanza/changelog.txt
index b03c1e2..19ca19c 100644
--- a/plugin.video.dr.dk.bonanza/changelog.txt
+++ b/plugin.video.dr.dk.bonanza/changelog.txt
@@ -1,3 +1,6 @@
+[B]Version 2.1.4 - 2012-10-21[/B]
+- Fixed problems with differences between Eden and Frodo (http://trac.xbmc.org/ticket/13349)
+
[B]Version 2.1.3 - 2012-09-17[/B]
- Change video stream selection. Now all available streams are added to a playlist
and XBMC will play the first item that works.
-----------------------------------------------------------------------
Summary of changes:
.gitignore | 2 +
plugin.video.dr.dk.bonanza/addon.py | 10 +++-
plugin.video.dr.dk.bonanza/addon.xml | 4 +-
plugin.video.dr.dk.bonanza/changelog.txt | 3 +
plugin.video.tv3play.dk/addon.py | 25 +++++++-
plugin.video.tv3play.dk/addon.xml | 2 +-
plugin.video.tv3play.dk/changelog.txt | 5 ++
.../resources/language/Norwegian/strings.xml | 20 ++++++
plugin.video.tvkaista/changelog.txt | 2 +
plugin.video.tvkaista/default.py | 62 ++++++++++++++------
10 files changed, 108 insertions(+), 27 deletions(-)
create mode 100644 plugin.video.tv3play.dk/resources/language/Norwegian/strings.xml
hooks/post-receive
--
Plugins
|