The branch, eden has been updated
       via  40d30d022bce23d3063ac5d7e6d56725bac9651d (commit)
      from  49d74f01cc1fa4128c000ef3846a448e06e9c3db (commit)

- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=40d30d022bce23d3063ac5d7e6d56725bac9651d

commit 40d30d022bce23d3063ac5d7e6d56725bac9651d
Author: beenje <[email protected]>
Date:   Sun Jul 14 22:11:51 2013 +0200

    [plugin.video.tv3play.dk] updated to version 1.0.6

diff --git a/plugin.video.tv3play.dk/addon.py b/plugin.video.tv3play.dk/addon.py
index 60d5fb1..08a9567 100644
--- a/plugin.video.tv3play.dk/addon.py
+++ b/plugin.video.tv3play.dk/addon.py
@@ -1,5 +1,5 @@
 #
-#      Copyright (C) 2012 Tommy Winther
+#      Copyright (C) 2013 Tommy Winther
 #      http://tommy.winther.nu
 #
 #  This Program is free software; you can redistribute it and/or modify
@@ -17,12 +17,12 @@
 #  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
 #  http://www.gnu.org/copyleft/gpl.html
 #
-from xml.etree import ElementTree
 import os
 import sys
 import urlparse
-import urllib2
 import re
+import urllib2
+import mobileapi
 
 import xbmc
 import xbmcgui
@@ -32,12 +32,14 @@ import xbmcplugin
 import buggalo
 
 REGIONS = ['tv3play.dk', 'tv3play.se', 'tv3play.no', 'tv3play.lt', 
'tv3play.lv', 'tv3play.ee', 'viasat4play.no']
-RSS = { 301 : 'recent', 302 : 'mostviewed', 303 : 'highestrated', 304 : 
'recent?type=clip' }
+RSS = {301: 'recent', 302: 'mostviewed', 303: 'highestrated', 304: 
'recent?type=clip'}
 
-class TV3PlayException(Exception):
-    pass
 
 class TV3PlayAddon(object):
+    def __init__(self):
+        if 'region' in PARAMS:
+            self.api = mobileapi.TV3PlayMobileApi(PARAMS['region'][0])
+
     def listRegions(self):
         items = list()
         for region in REGIONS:
@@ -48,308 +50,116 @@ class TV3PlayAddon(object):
         xbmcplugin.addDirectoryItems(HANDLE, items)
         xbmcplugin.endOfDirectory(HANDLE)
 
-
     def listPrograms(self, region):
-        url = 'http://www.%s/program' % region
-        buggalo.addExtraData('url', url)
-        html = self.downloadUrl(url)
-        if not html:
-            raise TV3PlayException(ADDON.getLocalizedString(204))
-
         items = list()
-        for stringId in sorted(RSS.keys()):
-            item = xbmcgui.ListItem(ADDON.getLocalizedString(stringId), 
iconImage=ICON)
-            item.setProperty('Fanart_Image', FANART)
-            items.append((PATH + '?region=%s&rss=%s' % (region, stringId), 
item, True))
 
-        for m in re.finditer('<a href="/program/([^"]+)">([^<]+)</a>', html):
-            slug = m.group(1)
-            title = m.group(2)
-            fanart = self.downloadAndCacheFanart(slug, None)
+        #        # Featured
+        #        item = xbmcgui.ListItem(ADDON.getLocalizedString(305), 
iconImage=ICON)
+        #        item.setProperty('Fanart_Image', FANART)
+        #        items.append((PATH + '?region=%s&special=featued' % region, 
item, True))
+        #
+        #        # Most viewed
+        #        item = xbmcgui.ListItem(ADDON.getLocalizedString(302), 
iconImage=ICON)
+        #        item.setProperty('Fanart_Image', FANART)
+        #        items.append((PATH + '?region=%s&special=mostviewed' % 
region, item, True))
+
+        formats = self.api.getAllFormats()
+        if not formats:
+            xbmcplugin.endOfDirectory(HANDLE, succeeded=False)
+            self.displayError('Mobile API not available for this region yet! 
Try later...')
+            return
+
+        for series in formats:
+            fanart = mobileapi.IMAGE_URL % series['image'].replace(' ', '%20')
 
-            item = xbmcgui.ListItem(title, iconImage=fanart)
+            infoLabels = {
+                'title': series['title'],
+                'plot': series['description']
+            }
+
+            item = xbmcgui.ListItem(series['title'], iconImage=fanart)
+            item.setInfo('video', infoLabels)
             item.setProperty('Fanart_Image', fanart)
-            items.append((PATH + '?region=%s&program=%s' % (region, slug), 
item, True))
+            items.append((PATH + '?region=%s&format=%s' % (region, 
series['id']), item, True))
 
         xbmcplugin.addDirectoryItems(HANDLE, items)
         xbmcplugin.endOfDirectory(HANDLE)
 
-    def listSeasons(self, region, slug):
-        url = 'http://www.%s/program/%s' % (region, slug)
-        buggalo.addExtraData('url', url)
-        html = self.downloadUrl(url)
-        if not html:
-            raise TV3PlayException(ADDON.getLocalizedString(203))
-
-        fanart = self.downloadAndCacheFanart(slug, html)
-
-        m = re.search('Table body(.*?)</tbody>.*?Table body(.*?)</tbody>', 
html, re.DOTALL)
-        if not m:
-            raise TV3PlayException(ADDON.getLocalizedString(203))
-        episodesHtml = m.group(1)
-        clipsHtml = m.group(2)
-
-        seasons = episodesHtml.split('class="season-head')
-        for seasonHtml in seasons:
-            m = re.search('<strong>(.*?)</strong>', seasonHtml)
-            season = m.group(1)
-            videoCount = seasonHtml.count('href="/play/')
-            if videoCount > 0:
-                item = xbmcgui.ListItem(season, iconImage = ICON)
-                if fanart:
-                    item.setIconImage(fanart)
-                    item.setProperty('Fanart_Image', fanart)
-                xbmcplugin.addDirectoryItem(HANDLE, PATH + 
'?region=%s&program=%s&season=%s' % (region, slug, season), item, True, 
videoCount)
-
-        seasons = clipsHtml.split('class="season-head')
-        for seasonHtml in seasons:
-            m = re.search('<strong>(.*?)</strong>', seasonHtml)
-            season = m.group(1)
-            videoCount = seasonHtml.count('href="/play/')
-            if videoCount > 0:
-                item = xbmcgui.ListItem('%s (%s)' % (season.decode('utf8', 
'ignore'), ADDON.getLocalizedString(103)), iconImage = fanart)
-                item.setProperty('Fanart_Image', fanart)
-                xbmcplugin.addDirectoryItem(HANDLE, PATH + 
'?region=%s&program=%s&season=%s&clips=true' % (region, slug, season), item, 
True, videoCount)
+    def listCategories(self, region, formatId):
+        detailed = self.api.detailed(formatId)
 
+        for category in detailed['formatcategories']:
+            fanart = mobileapi.IMAGE_URL % category['image'].replace(' ', 
'%20')
 
-        xbmcplugin.endOfDirectory(HANDLE)
-
-
-    def listVideos(self, region, slug, season, clips = False):
-        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)
-        if clips:
-            html = m.group(2)
-        else:
-            html = m.group(1)
+            item = xbmcgui.ListItem(category['name'], iconImage=fanart)
+            item.setProperty('Fanart_Image', fanart)
+            xbmcplugin.addDirectoryItem(HANDLE,
+                                        PATH + 
'?region=%s&format=%s&category=%s' % (region, formatId, category['id']),
+                                        item, True)
 
-        snip = ''
-        seasons = html.split('class="season-head')
-        for seasonHtml in seasons:
-            if seasonHtml.count(season) > 0:
-                snip = seasonHtml
-                break
+        xbmcplugin.endOfDirectory(HANDLE)
 
+    def listVideos(self, region, category):
         items = list()
-        for m in re.finditer('<a 
href="/play/([0-9]+)/".*?>([^<]+)<.*?col2">([^<]*)<.*?col3">([^<]+)<.*?col4">([^<]*)<.*?rated-([0-5])',
 snip, re.DOTALL):
-            videoId = m.group(1)
-            title = m.group(2)
-            episode = m.group(3)
-            duration = m.group(4)
-            airDate = m.group(5)
-            rating = int(m.group(6)) * 2.0
 
-            date = '%s.%s.20%s' % (airDate[0:2], airDate[3:5], airDate[6:8])
+        videos = self.api.getVideos(category)
+        for video in videos:
+            fanart = mobileapi.IMAGE_URL % video['image'].replace(' ', '%20')
 
             infoLabels = {
-                'title' : title,
-                'date' : date,
-                'studio' : ADDON.getAddonInfo('name'),
-                'duration' : duration,
-                'rating' : rating
+                'title': video['title'],
+                'studio': ADDON.getAddonInfo('name'),
+                'plot': video['description'],
+                'plotoutline': video['summary'],
+                'tvshowtitle': video['formattitle']
             }
-            if episode:
-                infoLabels['episode'] = int(episode)
+            if 'airdate' in video:
+                airdate = video['airdate']
+                infoLabels['date'] = '%s.%s.%s' % (airdate[8:10], 
airdate[5:7], airdate[0:4])
+                infoLabels['year'] = int(airdate[0:4])
 
-            item = xbmcgui.ListItem(title, iconImage = fanart)
-            item.setInfo('video', infoLabels)
-            item.setProperty('IsPlayable', 'true')
-            item.setProperty('Fanart_Image', fanart)
-            items.append((PATH + '?playVideo=%s' % videoId, item))
+            if 'episode' in video:
+                infoLabels['episode'] = int(video['episode'])
 
-        if not clips:
-            items.reverse()
-            xbmcplugin.addSortMethod(HANDLE, xbmcplugin.SORT_METHOD_EPISODE)
-            xbmcplugin.addSortMethod(HANDLE, xbmcplugin.SORT_METHOD_DATE)
-        xbmcplugin.addDirectoryItems(HANDLE, items)
-        xbmcplugin.endOfDirectory(HANDLE)
-
-    def listRss(self, region, id):
-        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('&', '&amp;'))
-
-        items = list()
-        for node in doc.findall('channel/item'):
-            videoId = node.findtext('id')
-            title = node.findtext('title')
-            description = node.findtext('description')
-            icon = node.findtext('thumbnailImage')
-            infoLabels = {
-                'title' : title,
-                'plot' : description
-            }
-            pubDate = node.findtext('pubDate')
-            if pubDate:
-                infoLabels['year'] = int(pubDate[0:4])
-                infoLabels['aired'] = pubDate[0:10]
-                infoLabels['date'] = '%s.%s.%s' % (pubDate[8:10], 
pubDate[5:7], pubDate[0:4])
-
-            item = xbmcgui.ListItem(title, iconImage = icon)
+            item = xbmcgui.ListItem(video['title'], iconImage=fanart)
             item.setInfo('video', infoLabels)
             item.setProperty('IsPlayable', 'true')
-            item.setProperty('Fanart_Image', FANART)
-            items.append((PATH + '?playVideo=%s' % videoId, item))
+            item.setProperty('Fanart_Image', fanart)
+            items.append((PATH + '?region=%s&playVideo=%s' % (region, 
video['id']), item))
 
+        xbmcplugin.addSortMethod(HANDLE, xbmcplugin.SORT_METHOD_EPISODE)
+        xbmcplugin.addSortMethod(HANDLE, xbmcplugin.SORT_METHOD_TITLE)
+        xbmcplugin.addSortMethod(HANDLE, xbmcplugin.SORT_METHOD_DATE)
         xbmcplugin.addDirectoryItems(HANDLE, items)
         xbmcplugin.endOfDirectory(HANDLE)
 
-
     def playVideo(self, videoId):
-        doc = self.getPlayProductXml(videoId)
-        url = doc.findtext('Product/Videos/Video/Url')
-        if not url:
-            raise TV3PlayException(ADDON.getLocalizedString(202))
-        rtmpUrl = self.getRtmpUrl(url) + ' 
swfUrl=http://flvplayer.viastream.viasat.tv/play/swf/player111227.swf 
swfVfy=true'
-
         playlist = xbmc.PlayList(xbmc.PLAYLIST_VIDEO)
         playlist.clear()
 
-        firstItem = None
-
-        # Preroll
-        prerollNode = doc.find('Product/AdCalls/preroll')
-        if prerollNode is not None:
-            url = prerollNode.get('url')
-            node = self.getXml(url).find('Ad')
-            if node is not None:
-                flvUrl = 
node.findtext('InLine/Creatives/Creative/Linear/MediaFiles/MediaFile')
-                if flvUrl:
-                    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'))
-            if not adXml:
-                continue
-            adDoc = ElementTree.fromstring(adXml.decode('utf8', 'ignore'))
-            adUrl = 
adDoc.findtext('Ad/InLine/Creatives/Creative/Linear/MediaFiles/MediaFile')
-            if not adUrl:
-                continue
-
-            stop = int(node.get('time'))
-            itemUrl = rtmpUrl + ' start=%d stop=%d' % (start * 1000, stop * 
1000)
-            featureItem = xbmcgui.ListItem(doc.findtext('Product/Title'), 
thumbnailImage=doc.findtext('Product/Images/ImageMedia/Url'), path = itemUrl)
-            playlist.add(itemUrl, featureItem)
-            start = stop
-
-            if firstItem is None:
-                firstItem = featureItem
-
-            item = xbmcgui.ListItem(ADDON.getLocalizedString(100), iconImage = 
ICON)
-            playlist.add(adUrl, item)
-
-        itemUrl = rtmpUrl + ' start=%d' % (start * 1000)
-        featureItem = xbmcgui.ListItem(doc.findtext('Product/Title'), 
thumbnailImage=doc.findtext('Product/Images/ImageMedia/Url'), path = itemUrl)
-        playlist.add(itemUrl, featureItem)
-
-        # Postroll
-        postrollNode = doc.find('Product/AdCalls/postroll')
-        if postrollNode is not None:
-            url = postrollNode.get('url')
-            node = self.getXml(url).find('Ad')
-            if node is not None:
-                flvUrl = 
node.findtext('InLine/Creatives/Creative/Linear/MediaFiles/MediaFile')
-                item = xbmcgui.ListItem(ADDON.getLocalizedString(100), 
iconImage = ICON)
-                playlist.add(flvUrl, item)
-
-        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)
-        if xml:
-            xml = re.sub('&[^a]', '&amp;', xml)
-            return ElementTree.fromstring(xml)
-        else:
-            return ElementTree.Element('data-not-loaded') # to avoid 
unnecessary error handling
+        u = 
urllib2.urlopen('http://viastream.viasat.tv/extra/extraN.php?clipid=%s' % 
videoId)
+        xml = u.read()
+        u.close()
+        print xml
+        if '<Url>' in xml:
 
-    def getRtmpUrl(self, videoUrl):
-        if videoUrl[0:4] == 'rtmp':
-            videoUrl = videoUrl.replace('rtmp://tv3playee.data.lt/mtg/', 
'rtmp://tv3playee.data.lt/mtg/mtg/')
-            videoUrl = videoUrl.replace('mp4:flash', 'flash')
-            return videoUrl.replace(' ', '%20')
+            m = re.search('<Url>(.*)</Url>', xml)
+            if m:
+                rtmp = m.group(1).replace('rtmp://tv3playee.data.lt/mtg/', 
'rtmp://tv3playee.data.lt/mtg/mtg/')
+                rtmp = rtmp.replace('mp4:flash', 'flash')
+                rtmp = rtmp.replace(' ', '%20')
+                rtmp += ' 
swfUrl=http://flvplayer.viastream.viasat.tv/play/swf/player111227.swf 
swfVfy=true'
+                playlist.add(rtmp)
 
-        xml = self.downloadUrl(videoUrl)
-        if not xml:
-            raise TV3PlayException(ADDON.getLocalizedString(202))
-        doc = ElementTree.fromstring(xml)
+        xbmcplugin.setResolvedUrl(HANDLE, True, playlist[0])
 
-        if doc.findtext('Success') == 'true':
-            return self.getRtmpUrl(doc.findtext('Url').replace(' ', '%20'))
-        else:
-            raise TV3PlayException(doc.findtext('Msg'))
-
-    def getXml(self, url):
-        xml = self.downloadUrl(url)
-        if xml:
-            return ElementTree.fromstring(xml.decode('utf8', 'ignore'))
-        else:
-            return ElementTree.Element('data-not-loaded') # to avoid 
unnecessary error handling
-
-    def downloadAndCacheFanart(self, slug, html):
-        fanartPath = os.path.join(CACHE_PATH, '%s.jpg' % 
slug.encode('iso-8859-1', 'replace'))
-        if not os.path.exists(fanartPath) and html:
-            m = re.search('/play/([0-9]+)/', html)
-            if not m:
-                return FANART
-            xml = self.getPlayProductXml(m.group(1))
-
-            fanartUrl = None
-            for node in xml.findall('Product/Images/ImageMedia'):
-                if node.findtext('Usage') == 'PlayImage':
-                    fanartUrl = node.findtext('Url')
-                    break
-
-            if fanartUrl:
-                imageData = self.downloadUrl(fanartUrl.replace(' ', '%20'))
-                if imageData:
-                    f = open(fanartPath, 'wb')
-                    f.write(imageData)
-                    f.close()
-
-                    return fanartPath
-
-        elif os.path.exists(fanartPath):
-            return fanartPath
-
-        return FANART
-
-    def downloadUrl(self, url):
-        for retries in range(0, 5):
-            try:
-                r = urllib2.Request(url.encode('iso-8859-1', 'replace'))
-                r.add_header('User-Agent', 'Mozilla/5.0 (X11; Ubuntu; Linux 
x86_64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2')
-                u = urllib2.urlopen(r, timeout = 30)
-                contents = u.read()
-                u.close()
-                return contents
-            except Exception, ex:
-                if retries > 5:
-                    raise TV3PlayException(ex)
-
-
-    def displayError(self, message = 'n/a'):
+    def displayError(self, message='n/a'):
         heading = buggalo.getRandomHeading()
         line1 = ADDON.getLocalizedString(200)
         line2 = ADDON.getLocalizedString(201)
         xbmcgui.Dialog().ok(heading, line1, line2, message)
 
+
 if __name__ == '__main__':
     ADDON = xbmcaddon.Addon()
     PATH = sys.argv[0]
@@ -366,22 +176,23 @@ if __name__ == '__main__':
     buggalo.SUBMIT_URL = 'http://tommy.winther.nu/exception/submit.php'
     tv3PlayAddon = TV3PlayAddon()
     try:
-        if PARAMS.has_key('playVideo'):
+        if 'playVideo' in PARAMS:
             tv3PlayAddon.playVideo(PARAMS['playVideo'][0])
-        elif PARAMS.has_key('program') and PARAMS.has_key('season'):
-            tv3PlayAddon.listVideos(PARAMS['region'][0], PARAMS['program'][0], 
PARAMS['season'][0], PARAMS.has_key('clips'))
-        elif PARAMS.has_key('program'):
-            tv3PlayAddon.listSeasons(PARAMS['region'][0], PARAMS['program'][0])
-        elif PARAMS.has_key('rss'):
-            tv3PlayAddon.listRss(PARAMS['region'][0], PARAMS['rss'][0])
-        elif PARAMS.has_key('region'):
+        elif 'format' in PARAMS and 'category' in PARAMS:
+            tv3PlayAddon.listVideos(PARAMS['region'][0], PARAMS['category'][0])
+        elif 'format' in PARAMS:
+            tv3PlayAddon.listCategories(PARAMS['region'][0], 
PARAMS['format'][0])
+        #        elif PARAMS.has_key('special') and PARAMS['special'] == 
'featured':
+        #            tv3PlayAddon.listFeatured(PARAMS['region'][0])
+        #        elif PARAMS.has_key('special') and PARAMS['special'] == 
'mostviewed':
+        #            tv3PlayAddon.listMostViewed(PARAMS['region'][0])
+        elif 'region' in PARAMS:
             tv3PlayAddon.listPrograms(PARAMS['region'][0])
         else:
             tv3PlayAddon.listRegions()
 
-    except TV3PlayException, ex:
+    except mobileapi.TV3PlayMobileApiException, ex:
         tv3PlayAddon.displayError(str(ex))
 
     except Exception:
-        buggalo.onExceptionRaised()
-
+        buggalo.onExceptionRaised()
\ No newline at end of file
diff --git a/plugin.video.tv3play.dk/addon.xml 
b/plugin.video.tv3play.dk/addon.xml
index dd1f18d..d79c311 100644
--- a/plugin.video.tv3play.dk/addon.xml
+++ b/plugin.video.tv3play.dk/addon.xml
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<addon id="plugin.video.tv3play.dk" version="1.0.5" name="TV3 Play" 
provider-name="twinther [[email protected]]">
+<addon id="plugin.video.tv3play.dk" version="1.0.6" name="TV3 Play" 
provider-name="twinther [[email protected]]">
     <requires>
         <import addon="xbmc.python" version="2.0"/>
         <import addon="script.module.buggalo" version="1.1.2"/>
-        <import addon="script.module.elementtree" version="1.2.7"/>
+        <import addon="script.module.simplejson" version="2.0.10"/>
     </requires>
     <extension point="xbmc.python.pluginsource" library="addon.py">
         <provides>video</provides>
@@ -15,41 +15,56 @@
         <summary lang="de">Zeige die letzten Shows von TV3 Play und Viasat 4 
Play</summary>
         <summary lang="el">Παρακολουθήστε τις πιο 
πρόσφατες εκπομπές από το TV3 Play και το Viasat 4 
Play</summary>
         <summary lang="en">Watch the latest shows from TV3 Play and Viasat 4 
Play</summary>
+        <summary lang="es">Mira los últimos programas de TV3 Play y Viasat 4 
Play</summary>
+        <summary lang="gl">Ver os últimos programas de TV3 Play e Viasat 4 
Play</summary>
         <summary lang="hu">Nézze meg a legfrissebb műsorokat a TV3 Play és 
Viasat 4 Play oldalakról</summary>
+        <summary lang="it">Guarda gli ultimi show da TV3 Play e Viasat 4 
Play</summary>
         <summary lang="ko">TV3 Play와 Viasat4 Play의 최근 쇼 
감상</summary>
         <summary lang="lt">Žiūrėti naujausius laidas iš TV3Play ir Viasat 
4 Play</summary>
         <summary lang="no">Se de nyeste episodene fra TV3 Play og Viasat 4 
Play</summary>
         <summary lang="pl">Oglądaj najnowsze programy z TV3 Play oraz Viasat 
4 Play</summary>
         <summary lang="pt_BR">Assista os últimos shows de TV3 Play e Viasat 4 
Play</summary>
+        <summary lang="sk">Sledujte najaktuálnejšie vysielanie z TV3 Play a 
Viasat 4 Play</summary>
         <summary lang="sv">Titta på dom senaste serierna från TV3 Play och 
Viasat 4 Play</summary>
+        <summary lang="zh">观看TV3 Play和Viasat 4 Play最新节目</summary>
         <description lang="be">On TV3 Play you can watch all of TV3's own 
programming and some foreign series. There is also extra feature for some 
programming.[CR][CR]If you have comments or suggestions for this addon, please 
feel free to participate in the debate on my blog at 
http://tommy.winther.nu</description>
         <description lang="ca">A TV3 Play podeu veure tota la programació 
pròpia de TV3 i algunes sèries estrangeres. Hi ha també extres d'alguns 
programes.[CR][CR]Si teniu comentaris o suggerències per aquest afegitó, per 
favor no dubteu en participar en el debat al meu blog 
http://tommy.winther.nu</description>
-        <description lang="da">PÃ¥ TV3 Play kan du se alle TV3's egne 
programmer og nogle udenlandske serier. Der er også ekstramateriale til flere 
af programmerne.[CR][CR]Har du kommentarer, ris eller ros til denne add-on er 
du velkommen til at deltage i debatten på min blog på 
http://tommy.winther.nu</description>
+        <description lang="da">PÃ¥ TV3 Play kan du se alle TV3's egne 
programmer og nogle udenlandske serier. Der er også ekstramateriale til flere 
af programmerne.[CR][CR]Har du kommentarer, ris eller ros til denne addon, er 
du velkommen til at deltage i debatten på min blog på 
http://tommy.winther.nu</description>
         <description lang="de">Auf TV3 Play kannst du alle TV3 Programme und 
einige ausländische Serien sehen. Außerdem gibt es für einige Programme 
extra funktionen. [CR][CR]Falls du Kommentare oder Empfehlungen für dieses 
Addon hast, fühle dich so frei und beteilige dich an der Debatte auf meinem 
Blog unter http://tommy.winther.nu</description>
         <description lang="el">Στο TV3 Play μπορείτε να 
παρακολουθήσετε όλο το πρόγραμμά του καθώς 
και κάποιες ξένες σειρές. Υπάρχουν, επίσης, 
επιπλέον λειτουργίες για κάποια 
προγράμματα.[CR][CR]Αν έχετε σχόλια ή 
προτάσεις για αυτό το πρόσθετο, 
παρακαλούμε να συμμετάσχετε ελεύθερα στη 
συζήτηση στο blog μου στο http://tommy.winther.nu</description>
         <description lang="en">On TV3 Play you can watch all of TV3's own 
programming and some foreign series. There is also extra feature for some 
programming.[CR][CR]If you have comments or suggestions for this addon, please 
feel free to participate in the debate on my blog at 
http://tommy.winther.nu</description>
+        <description lang="es">En TV3 Play puedes ver todos los programas de 
TV3 y algunas series extranjeras. También hay características especiales para 
algunos programas.[CR][CR]Si tienes comentarios o sugerencias acerca de este 
complemento, no dudes en participar en el debate de mi blog en 
http://tommy.winther.nu</description>
+        <description lang="gl">En TV3 Play pode ver toda a programación da 
canle e algunhas series extranxeiras, mais tamén características adicionais 
nalgunha programación.[CR][CR]Se ten comentarios ou suxestións sobre este 
complemento, pode participar no debate do meu blogue en 
http://tommy.winther.nu</description>
         <description lang="hu">A TV3 Play-en saját műsorokat és külföldi 
sorozatokat nézhet. [CR][CR]Ha hozzászólása vagy javaslata van a 
kiegészítővel kapcsolatban, keresse fel a blogomat a tommy.winther.nu 
címen</description>
+        <description lang="it">Con TV3Play puoi guardare tutta la 
programmazione di TV3 e qualche altra serie. Ci sono anche funzionalità extra 
per alcuni palinsesti.[CR][CR]Se hai commenti o suggerimenti per questo addon, 
sentiti libero di partecipare alla discussione sul mio blog: 
http://tommy.winther.nu</description>
         <description lang="ko">On TV3 Play you can watch all of TV3's own 
programming and some foreign series. There is also extra feature for some 
programming.[CR][CR]If you have comments or suggestions for this addon, please 
feel free to participate in the debate on my blog at 
http://tommy.winther.nu</description>
         <description lang="lt">TV3 Play priede galite žiūrėti visas TV3 
savo šalies ir kai kurias užsienio laidas. Taip pat yra papildoma programos 
funkcija[CR] [Cr]Jei turite pastabų ar pasiūlymų šiam priedui, prašome 
nedvejodami dalyvauti diskusijose mano dienoraštyje 
http://tommy.winther.nu</description>
         <description lang="no">PÃ¥ TV3 Play kan du se alle av TV3`s egne 
programmer og noen utenlanske serier. Det finnes også tilleggs funksjoner til 
noen av programmene. Hvis du har kommentarer eller forslag til dette tillegget, 
vennligst føl deg fri til å bli med i bebatten på min blogg: 
http://tommy.winther.nu</description>
         <description lang="pl">Na TV3 Play możesz oglądać wszystkie własne 
programy TV3 oraz kilka zagranicznych serii. Istnieje równierz dodatkowa 
funkcje dla niektórych programów.[CR][CR]Jeśli masz uwagi lub sugestie 
dotyczące tej wtyczki, uprzejmie prosimy o udział w debacie na blogu na 
http://tommy.winther.nu</description>
         <description lang="pt_BR">Na TV3 você pode assistir toda a 
programação da própria TV3 e algumas séries estrangeiras. Há também 
recursos extras para alguma programação. [CR] [CR] Se você tiver 
comentários ou sugestões para este add-on, por favor, sinta-se livre para 
participar do debate no meu blog em http://tommy.winther.nu</description>
+        <description lang="sk">Na TV3 Play môžete sledovať všetku vlastnú 
tvorbu TV3 a niektoré zahraničné seriály. K dispozícii je tiež extra 
funkcie pre niektoré programy.&#10;&#10;Ak máte poznámky či pripomienky k 
tomuto doplnku, prosím prispejte do diskusie na blogu 
http://tommy.winther.nu.</description>
         <description lang="sv">PÃ¥ TV3 Play kan du se alla TV3's egna program 
samt några utländska serier. Det finns också extra funktioner för några av 
programmen.[CR][CR]Om du har kommentarer eller förslag för detta tillägg, 
känn dig som hemma och delta i debatten på min blogg 
http://tommy.winther.nu</description>
+        <description lang="zh">在TV3 Play你可以观看TV3å…
¨éƒ¨è‡ªæœ‰å’Œå›½å¤–系列节目,还有一些节目的附加内
容。[CR][CR]对本插件有何意见或建议,请到我的博客讨论http://tommy.winther.nu</description>
         <disclaimer lang="be">Some parts of this addon may not be legal in 
your country of residence - please check with your local laws.</disclaimer>
         <disclaimer lang="ca">Algunes parts d'aquest afegitó podrien ser 
il·legals al vostre pais de residència - per favor, comprovau les vostres 
lleis locals.</disclaimer>
-        <disclaimer lang="da">Nogle dele af denne add-on er muligvis ikke 
lovlige i dit land - kontroller venligst dine lokale love.</disclaimer>
+        <disclaimer lang="da">Nogle dele af denne addon er muligvis ikke 
lovlige i dit land - kontroller venligst dine lokale love.</disclaimer>
         <disclaimer lang="de">Einige Teile dieses Addons sind eventuell nicht 
in deinem derzeitigen Land legal - bitte überprüfe deine lokalen 
Gesetze.</disclaimer>
         <disclaimer lang="el">Κάποια τμήματα αυτού του 
πρόσθετου ενδέχεται να μην είναι νόμιμα 
στη χώρα σας - ελέγξτε τη νομοθεσία 
σας.</disclaimer>
         <disclaimer lang="en">Some parts of this addon may not be legal in 
your country of residence - please check with your local laws.</disclaimer>
+        <disclaimer lang="es">Algunas partes de este complemento pueden no ser 
legales en tu país de residencia. Por favor comprueba la legalidad 
vigente.</disclaimer>
+        <disclaimer lang="gl">Algunhas partes deste engadido poden non ser 
legais no teu país - por favor verifica as leis locais.</disclaimer>
         <disclaimer lang="hu">A kiegészítő néhány részlete illegális 
lehet az ön országában - kérjük nézzen utána a 
törvényeknek.</disclaimer>
+        <disclaimer lang="it">Alcune parti di questo addon potrebbero non 
essere legali nel tuo paese di residenza - per favore controlla le leggi 
vigenti.</disclaimer>
         <disclaimer lang="ko">이 애드온의 일부는 거주하는 
국가에 따라 합법적이지 않을 수도 있습니다. 이용 지역의 
법률을 확인하세요.</disclaimer>
         <disclaimer lang="lt">Kai kurios šio priedo dalys negali būti 
naudojamos/vartojamos/žiūrimos jūsų šalyje - prašome patikrinti 
gyvenamosios vietos įstatymus.</disclaimer>
         <disclaimer lang="no">Noen deler av dette tillegget kan hende ikke er 
lovlig i dit land - vennligst sjekk med dine lokale lover.</disclaimer>
         <disclaimer lang="pl">Niektóre części tej wtyczki moga być 
nielegalne w twoim kraju  - proszę sprawdzić z lokalnymi 
przepisami.</disclaimer>
         <disclaimer lang="pt_BR">Algumas partes desta addon pode não ser 
legais em seu país - por favor verifique as leis locais, antes de 
usar.</disclaimer>
+        <disclaimer lang="sk">Niektoré časti tohoto doplnku môžu byť 
protizákonné vo Vašej krajine pobytu - prosím informujte sa o miestnych 
zákonoch.</disclaimer>
         <disclaimer lang="sv">Några delar i detta tillägg kanske inte är 
lagligt i ditt hemland - var god kontrollera med dom lokala 
lagarna.</disclaimer>
+        <disclaimer lang="zh">这个插件的某些内容可能不符合你
所在国家的法律规定 - 请确认符合当地法律。</disclaimer>
         <license>GPLv2</license>
         <platform>all</platform>
-        <language>da se no lv lt et</language>
+        <language>da se no lt lv ee</language>
     </extension>
 </addon>
diff --git a/plugin.video.tv3play.dk/changelog.txt 
b/plugin.video.tv3play.dk/changelog.txt
index f350060..30ebd66 100644
--- a/plugin.video.tv3play.dk/changelog.txt
+++ b/plugin.video.tv3play.dk/changelog.txt
@@ -1,3 +1,7 @@
+[B]Version 1.0.6 - 2013-07-14[/B]
+- Switched to same API as Frodo branch
+- Fixed playback
+
 [B]Version 1.0.5 - 2013-05-02[/B]
 - Fixed error when initial ad was missing
 
diff --git a/plugin.video.tv3play.dk/fanart.jpg 
b/plugin.video.tv3play.dk/fanart.jpg
index dbd4a70..2dabced 100644
Binary files a/plugin.video.tv3play.dk/fanart.jpg and 
b/plugin.video.tv3play.dk/fanart.jpg differ
diff --git a/plugin.video.tv3play.dk/resources/language/Chinese 
(Simple)/strings.xml b/plugin.video.tv3play.dk/resources/language/Chinese 
(Simple)/strings.xml
index d856055..840cac8 100644
--- a/plugin.video.tv3play.dk/resources/language/Chinese (Simple)/strings.xml   
+++ b/plugin.video.tv3play.dk/resources/language/Chinese (Simple)/strings.xml   
@@ -4,7 +4,18 @@
 <!-- Report language file syntax bugs at: [email protected] -->
 
 <strings>
+    <string id="100">商业</string>
     <string id="101">常用</string>
     <string id="102">区域</string>
-    <string id="103">片断</string>
+    <string id="103">剪辑</string>
+    <string id="150">选择区域</string>
+    <string id="200">连接TV3 Play时出错</string>
+    <string id="201">错误信息:</string>
+    <string id="202">无法找到播放URL</string>
+    <string id="203">无可用季</string>
+    <string id="204">无法获取节目表</string>
+    <string id="301">最新视频</string>
+    <string id="302">观看最多</string>
+    <string id="303">最多喜爱</string>
+    <string id="304">最新剪辑</string>
 </strings>
diff --git a/plugin.video.tv3play.dk/resources/language/English/strings.xml 
b/plugin.video.tv3play.dk/resources/language/English/strings.xml
index 5418a8d..bbc1eed 100644
--- a/plugin.video.tv3play.dk/resources/language/English/strings.xml
+++ b/plugin.video.tv3play.dk/resources/language/English/strings.xml
@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <!-- Translated using Transifex web application. For support, or if you would 
like to to help out, please visit your language team! -->
 <!-- English language-Team URL: 
http://www.transifex.com/projects/p/xbmc-addons/language/en/ -->
diff --git a/plugin.video.tv3play.dk/resources/language/Galician/strings.xml 
b/plugin.video.tv3play.dk/resources/language/Galician/strings.xml
index a887432..92d8441 100644
--- a/plugin.video.tv3play.dk/resources/language/Galician/strings.xml
+++ b/plugin.video.tv3play.dk/resources/language/Galician/strings.xml
@@ -4,7 +4,18 @@
 <!-- Report language file syntax bugs at: [email protected] -->
 
 <strings>
+    <string id="100">Publicidade</string>
     <string id="101">Xeral</string>
     <string id="102">Rexión</string>
     <string id="103">Clips</string>
+    <string id="150">Seleccionar rexión</string>
+    <string id="200">Produciuse un erro na comunicación con TV3 Play.</string>
+    <string id="201">A mensaxe do erro é:</string>
+    <string id="202">Non se puido atopar o URL de reprodución</string>
+    <string id="203">Sen tempadas dispoñíbeis</string>
+    <string id="204">Non se puido obter a listaxe de programas</string>
+    <string id="301">Últimos vídeos</string>
+    <string id="302">Os máis vistos</string>
+    <string id="303">Os máis ligados</string>
+    <string id="304">Clips Recentes</string>
 </strings>
diff --git a/plugin.video.tv3play.dk/resources/language/Indonesian/strings.xml 
b/plugin.video.tv3play.dk/resources/language/Indonesian/strings.xml
index 1faeeca..6c5d291 100644
--- a/plugin.video.tv3play.dk/resources/language/Indonesian/strings.xml
+++ b/plugin.video.tv3play.dk/resources/language/Indonesian/strings.xml
@@ -6,4 +6,5 @@
 <strings>
     <string id="101">Umum</string>
     <string id="102">Wilayah</string>
+    <string id="103">Klip</string>
 </strings>
diff --git a/plugin.video.tv3play.dk/resources/language/Italian/strings.xml 
b/plugin.video.tv3play.dk/resources/language/Italian/strings.xml
index 0b5102a..3e44148 100644
--- a/plugin.video.tv3play.dk/resources/language/Italian/strings.xml
+++ b/plugin.video.tv3play.dk/resources/language/Italian/strings.xml
@@ -4,8 +4,18 @@
 <!-- Report language file syntax bugs at: [email protected] -->
 
 <strings>
+    <string id="100">Spot</string>
     <string id="101">Generale</string>
     <string id="102">Regione</string>
     <string id="103">Clip</string>
+    <string id="150">Scegli regione</string>
+    <string id="200">Errore nella comunicazione con TV3 Play.</string>
     <string id="201">Il messaggio di errore è:</string>
+    <string id="202">Impossibile trovare l'URL per la riproduzione</string>
+    <string id="203">Nessuna stagione disponibile</string>
+    <string id="204">Impossibile recuperare la lista dei programmi</string>
+    <string id="301">Ultimi video</string>
+    <string id="302">I più riprodotti</string>
+    <string id="303">I più graditi</string>
+    <string id="304">Ultimi video</string>
 </strings>
diff --git a/plugin.video.tv3play.dk/resources/language/Slovak/strings.xml 
b/plugin.video.tv3play.dk/resources/language/Slovak/strings.xml
index d4ca1ec..35474af 100644
--- a/plugin.video.tv3play.dk/resources/language/Slovak/strings.xml
+++ b/plugin.video.tv3play.dk/resources/language/Slovak/strings.xml
@@ -4,7 +4,18 @@
 <!-- Report language file syntax bugs at: [email protected] -->
 
 <strings>
+    <string id="100">Reklama</string>
     <string id="101">Všeobecné</string>
     <string id="102">Región</string>
     <string id="103">Klipy</string>
+    <string id="150">Zvoliť región</string>
+    <string id="200">Počas komunikácie s TV3 Play sa vyskytla chyba.</string>
+    <string id="201">Chybová hláška je:</string>
+    <string id="202">Nemožno nájsť prehrávané URL</string>
+    <string id="203">Nenašli sa žiadne (filmové) série</string>
+    <string id="204">Nemožno načítať zoznam programov</string>
+    <string id="301">Najnovšie videá</string>
+    <string id="302">Najviac videné</string>
+    <string id="303">Najobľúbenejšie</string>
+    <string id="304">Najnovšie klipy</string>
 </strings>
diff --git a/plugin.video.tv3play.dk/resources/language/Spanish 
(Argentina)/strings.xml b/plugin.video.tv3play.dk/resources/language/Spanish 
(Argentina)/strings.xml
index ea3b7c9..d8d4b28 100644
--- a/plugin.video.tv3play.dk/resources/language/Spanish 
(Argentina)/strings.xml        
+++ b/plugin.video.tv3play.dk/resources/language/Spanish 
(Argentina)/strings.xml        
@@ -5,4 +5,5 @@
 
 <strings>
     <string id="101">General</string>
+    <string id="102">Región</string>
 </strings>
diff --git a/plugin.video.tv3play.dk/resources/language/Spanish/strings.xml 
b/plugin.video.tv3play.dk/resources/language/Spanish/strings.xml
index 8686b74..1b82998 100644
--- a/plugin.video.tv3play.dk/resources/language/Spanish/strings.xml
+++ b/plugin.video.tv3play.dk/resources/language/Spanish/strings.xml
@@ -4,7 +4,18 @@
 <!-- Report language file syntax bugs at: [email protected] -->
 
 <strings>
+    <string id="100">Anuncio</string>
     <string id="101">General</string>
     <string id="102">Región</string>
     <string id="103">Clips</string>
+    <string id="150">Elegir región</string>
+    <string id="200">Ha ocurrido un error de comunicación con TV3 
Play.</string>
+    <string id="201">El mensaje de error es:</string>
+    <string id="202">No se encuentra el URL para reproducir</string>
+    <string id="203">No hay temporadas disponibles</string>
+    <string id="204">No se puede obtener la lista de programas</string>
+    <string id="301">Últimos vídeos</string>
+    <string id="302">Más vistos</string>
+    <string id="303">Los que más gustan</string>
+    <string id="304">Últimos clips</string>
 </strings>

-----------------------------------------------------------------------

Summary of changes:
 plugin.video.tv3play.dk/addon.py                   |  373 +++++---------------
 plugin.video.tv3play.dk/addon.xml                  |   25 +-
 plugin.video.tv3play.dk/changelog.txt              |    4 +
 plugin.video.tv3play.dk/fanart.jpg                 |  Bin 80765 -> 345179 bytes
 plugin.video.tv3play.dk/mobileapi.py               |  107 ++++++
 .../resources/language/Albanian/strings.xml        |    5 +-
 .../language/{Serbian => Bosnian}/strings.xml      |    2 +-
 .../language/Chinese (Simple)/strings.xml          |   13 +-
 .../resources/language/English/strings.xml         |    1 -
 .../resources/language/Galician/strings.xml        |   11 +
 .../resources/language/Indonesian/strings.xml      |    1 +
 .../resources/language/Italian/strings.xml         |   10 +
 .../language/{Russian => Macedonian}/strings.xml   |    6 +-
 .../resources/language/Maltese/strings.xml         |    3 +-
 .../{Persian => Persian (Iran)}/strings.xml        |    3 +-
 .../resources/language/Slovak/strings.xml          |   11 +
 .../language/Spanish (Argentina)/strings.xml       |    1 +
 .../resources/language/Spanish/strings.xml         |   11 +
 .../resources/language/Vietnamese/strings.xml      |    3 +-
 19 files changed, 292 insertions(+), 298 deletions(-)
 create mode 100644 plugin.video.tv3play.dk/mobileapi.py
 copy {plugin.image.cheezburger_network => 
plugin.video.tv3play.dk}/resources/language/Albanian/strings.xml (76%)
 copy plugin.video.tv3play.dk/resources/language/{Serbian => 
Bosnian}/strings.xml (80%)
 copy plugin.video.tv3play.dk/resources/language/{Russian => 
Macedonian}/strings.xml (63%)
 copy {plugin.video.hdtrailers_net => 
plugin.video.tv3play.dk}/resources/language/Maltese/strings.xml (82%)
 copy plugin.video.tv3play.dk/resources/language/{Persian => Persian 
(Iran)}/strings.xml (68%)
 copy {plugin.image.cheezburger_network => 
plugin.video.tv3play.dk}/resources/language/Vietnamese/strings.xml (85%)


hooks/post-receive
-- 
Plugins

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons

Reply via email to