The branch, frodo has been updated
       via  da11e6084d63d834a988810e4ec29674c865c2d2 (commit)
       via  8d7971d52ee04cc764bb09bfb74865d2360c2cc1 (commit)
      from  a1a5cf328f67c53c7da82020fb5ae4ad2ca84898 (commit)

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

commit da11e6084d63d834a988810e4ec29674c865c2d2
Author: beenje <[email protected]>
Date:   Sat Jan 19 12:36:14 2013 +0100

    [plugin.video.hdtrailers_net] updated to version 1.0.1

diff --git a/plugin.video.hdtrailers_net/addon.xml 
b/plugin.video.hdtrailers_net/addon.xml
index 723547a..8cb62cf 100644
--- a/plugin.video.hdtrailers_net/addon.xml
+++ b/plugin.video.hdtrailers_net/addon.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<addon id="plugin.video.hdtrailers_net" name="HD-Trailers.net" version="1.0.0" 
provider-name="Tristan Fischer ([email protected])">
+<addon id="plugin.video.hdtrailers_net" name="HD-Trailers.net" version="1.0.1" 
provider-name="Tristan Fischer ([email protected])">
   <requires>
     <import addon="xbmc.python" version="2.1.0"/>
     <import addon="script.module.xbmcswift2" version="1.3.0"/>
@@ -11,9 +11,34 @@
   <extension point="xbmc.addon.metadata">
     <language></language>
     <platform>all</platform>
+    <summary lang="ar">المقاطع من مصادر مختلفة بنظام 
HD</summary>
+    <summary lang="da">Trailer og klip fra adskillige kilder i HD</summary>
     <summary lang="de">Trailer und Clips aus verschiedenen Quellen in 
HD</summary>
+    <summary lang="el">Διαφημιστικά και Αποσπάσματα 
από διάφορες πηγές σε υψηλή ποιότητα 
(HD)</summary>
     <summary lang="en">Trailer and Clips from several sources in HD</summary>
+    <summary lang="hu">Ajánlók és videóklipek számos forrásból HD 
minőségben</summary>
+    <summary lang="it">Trailer e Filmati da svariate fonti in HD</summary>
+    <summary lang="ko">다양한 출처의 HD 예고편과 비디오 
클립</summary>
+    <summary lang="nl">Trailers en Clips van verschillende bronnen in 
HD</summary>
+    <summary lang="no">Trailere og klipp fra flere kilder i HD</summary>
+    <summary lang="pl">Zwiastuny i klipy z kilku źródeł w HD</summary>
+    <summary lang="pt">Trailers e clipes de várias fontes em HD</summary>
+    <summary lang="pt_BR">Trailers e Clipes de várias fontes em HD</summary>
+    <summary lang="sk">Ukážky a klipy z rôznych zdrojov v HD 
kvalite</summary>
+    <summary lang="sv">Trailers och klipp från flera olika källor i 
HD</summary>
+    <description lang="ar">هذا البرنامج المساعد يوفر 
الوصول لمقاطع الفيلم من المصادر التالية:[CR]- 
apple.com[CR]- yahoo.com[CR]- youtube.com[CR]- moviefone.com[CR]- ign.com[CR]- 
hd-trailers.net[CR]- aol.com[CR] و غالبيتها متوفربـ480, 720 و 
1080</description>
+    <description lang="da">Denne Add-on giver adgang til filmtrailere og klip 
fra de følgende kilder:[CR]- apple.com[CR]- yahoo.com[CR]- youtube.com[CR]- 
moviefone.com[CR]- ign.com[CR]- hd-trailers.net[CR]- aol.com[CR]De fleste af 
dem er tilgængelige i 480p, 720p og 1080p</description>
     <description lang="de">Dieses Plugin bietet Zugriff auf verschiedene Film 
Trailer und Clips der folgenden Quellen:[CR]- apple.com[CR]- yahoo.com[CR]- 
youtube.com[CR]- moviefone.com[CR]- ign.com[CR]- hd-trailers.net[CR]- 
aol.com[CR]Die meisten sind verfügbar in 480p, 720p und 1080p</description>
+    <description lang="el">Αυτό το Plugin σας παρέχει 
πρόσβαση σε Διαφημιστικά και Αποσπάσματα 
Ταινιών από τις ακόλουθες πηγές:[CR]- apple.com[CR]- 
yahoo.com[CR]- youtube.com[CR]- moviefone.com[CR]- ign.com[CR]- 
hd-trailers.net[CR]- aol.com[CR]Τα περισσότερα από αυτά 
είναι διαθέσιμα σε ανάλυση 480p, 720p και 
1080p</description>
     <description lang="en">This Plugin provides access to Movie Trailers and 
Clips from the following sources:[CR]- apple.com[CR]- yahoo.com[CR]- 
youtube.com[CR]- moviefone.com[CR]- ign.com[CR]- hd-trailers.net[CR]- 
aol.com[CR]Most of them are available in 480p, 720p and 1080p</description>
+    <description lang="hu">Ez a modul hozzáférést biztosít 
filmajánlókhoz és videóklipekhez a következő weboldalakról:[CR]- 
apple.com[CR]- yahoo.com[CR]- youtube.com[CR]- moviefone.com[CR]- ign.com[CR]- 
hd-trailers.net[CR]- aol.com[CR]Legtöbbjük elérhető 480p, 720p és 1080p 
felbontásban is</description>
+    <description lang="it">This Plugin fornisce accesso a Trailer di Film e 
Filmati dalle seguenti fonti::[CR]- apple.com[CR]- yahoo.com[CR]- 
youtube.com[CR]- moviefone.com[CR]- ign.com[CR]- hd-trailers.net[CR]- 
aol.com[CR]la maggior parte di questi sono disponibili a 480p, 720p e 
1080p</description>
+    <description lang="ko">이 플러그인은 다음 소스의 영화 예고
편과 비디오 클립을 제공합니다:[CR]- apple.com[CR]- yahoo.com[CR]- 
youtube.com[CR]- moviefone.com[CR]- ign.com[CR]- hd-trailers.net[CR]- 
aol.com[CR]대부분의 영상은 480p, 720p, 1080p 포맷을 
지원합니다.</description>
+    <description lang="no">Dette tillegget gir tilgang til Film trailere og 
klipp fra følgende kilder:[CR]- apple.com[CR]- yahoo.com[CR]- youtube.com[CR]- 
moviefone.com[CR]- ign.com[CR]- hd-trailers.net[CR]- aol.com[CR]De fleste er 
tilgjengelig i 480p, 720p and 1080p</description>
+    <description lang="pl">Ten Plugin daje dostęp do zwiastunów filmowych i 
klipów z następujących źródeł:[CR]- apple.com[CR]- yahoo.com[CR]- 
youtube.com[CR]- moviefone.com[CR]- ign.com[CR]- hd-trailers.net[CR]- 
aol.com[CR]Większość z nich jest dostępna w 480p, 720p i 1080p</description>
+    <description lang="pt">Este plugin permite-lhe ver trailers e clipes de 
filmes a partir das seguintes fontes:[CR]- apple.com[CR]- yahoo.com[CR]- 
youtube.com[CR]- moviefone.com[CR]- ign.com[CR]- hd-trailers.net[CR]- 
aol.com[CR]A maior parte deles está disponível em 480p, 720p and 
1080p</description>
+    <description lang="pt_BR">Este plugin fornece acesso a trailers de filmes 
e clipes das seguintes fontes:[CR]- apple.com[CR]- yahoo.com[CR]- 
youtube.com[CR]- moviefone.com[CR]- ign.com[CR]- hd-trailers.net[CR]- 
aol.com[CR]A maioria deles está disponível em 480p, 720p e 1080p</description>
+    <description lang="sk">Tento doplnok poskytuje prístup k ukážkam filmov 
a ku klipom z týchto zdrojov:&#10; - apple.com&#10; - yahoo.com&#10; - 
youtube.com&#10; - moviefone.com&#10; - ign.com&#10; - hd-trailers.net&#10; - 
aol.com&#10;Väčšina z nich je dostupná v rozlíšení 480p, 720p a 
1080p.</description>
+    <description lang="sv">Detta plugin tillhandahåller trailers hämtade 
från följande källor:[CR]- apple.com[CR]- yahoo.com[CR]- youtube.com[CR]- 
moviefone.com[CR]- ign.com[CR]- hd-trailers.net[CR]- aol.com[CR]De flesta är 
tillgängliga i 480p, 720p and 1080p</description>
   </extension>
 </addon>
diff --git a/plugin.video.hdtrailers_net/changelog.txt 
b/plugin.video.hdtrailers_net/changelog.txt
index 4615f63..8b88acf 100644
--- a/plugin.video.hdtrailers_net/changelog.txt
+++ b/plugin.video.hdtrailers_net/changelog.txt
@@ -1,3 +1,7 @@
+1.0.1
+ - fixed coming-soon
+ - updated translations
+
 1.0.0
  - new icon
  - added ability to override content-type in movie-view
diff --git a/plugin.video.hdtrailers_net/resources/language/English/strings.xml 
b/plugin.video.hdtrailers_net/resources/language/English/strings.xml
index 19eb7ee..2515a99 100644
--- a/plugin.video.hdtrailers_net/resources/language/English/strings.xml
+++ b/plugin.video.hdtrailers_net/resources/language/English/strings.xml
@@ -1,4 +1,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/ -->
+<!-- Report language file syntax bugs at: [email protected] -->
+
 <strings>
     <!-- Default strings -->
     <string id="30001">Page</string>
diff --git a/plugin.video.hdtrailers_net/resources/language/German/strings.xml 
b/plugin.video.hdtrailers_net/resources/language/German/strings.xml
index 9ba843d..5de4177 100644
--- a/plugin.video.hdtrailers_net/resources/language/German/strings.xml
+++ b/plugin.video.hdtrailers_net/resources/language/German/strings.xml
@@ -1,4 +1,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! -->
+<!-- German language-Team URL: 
http://www.transifex.com/projects/p/xbmc-addons/language/de/ -->
+<!-- Report language file syntax bugs at: [email protected] -->
+
 <strings>
     <!-- Default strings -->
     <string id="30001">Seite</string>
diff --git a/plugin.video.hdtrailers_net/resources/lib/scraper.py 
b/plugin.video.hdtrailers_net/resources/lib/scraper.py
index 3b3ec2d..7606be7 100644
--- a/plugin.video.hdtrailers_net/resources/lib/scraper.py
+++ b/plugin.video.hdtrailers_net/resources/lib/scraper.py
@@ -125,7 +125,7 @@ def _get_movies(url):
         'id': td.a['href'].split('/')[2],
         'title': td.a.img['alt'],
         'thumb': td.a.img['src']
-    } for td in tree.findAll('td', {'class': 'indexTableTrailerImage'})]
+    } for td in tree.findAll('td', 'indexTableTrailerImage') if td.a.img]
     has_next_page = tree.find(
         'a',
         attrs={'class': 'startLink'},

http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=8d7971d52ee04cc764bb09bfb74865d2360c2cc1

commit 8d7971d52ee04cc764bb09bfb74865d2360c2cc1
Author: beenje <[email protected]>
Date:   Sat Jan 19 12:36:10 2013 +0100

    [plugin.audio.listenliveeu] updated to version 1.0.1

diff --git a/plugin.audio.listenliveeu/addon.xml 
b/plugin.audio.listenliveeu/addon.xml
index 6966571..0def46c 100644
--- a/plugin.audio.listenliveeu/addon.xml
+++ b/plugin.audio.listenliveeu/addon.xml
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <addon
   id="plugin.audio.listenliveeu"
-  version="0.4.5"
+  version="1.0.1"
   name="ListenLiveEU"
   provider-name="bootsy, xycl">
   <requires>
-   <import addon="xbmc.python" version="2.0"/>
+   <import addon="xbmc.python" version="2.1.0"/>
   </requires>
   <extension
     point="xbmc.python.pluginsource"
@@ -13,12 +13,13 @@
    <provides>audio</provides>
   </extension>
   <extension point="xbmc.addon.metadata">
-    <summary lang="en">European radio stations streaming live on the 
internet</summary>
     <summary lang="de">Europäische Radiostationen, die live im Internet 
streamen</summary>
+    <summary lang="en">European radio stations streaming live on the 
internet</summary>
     <summary lang="hu">Európai internetes rádiók</summary>
-    <description lang="en">Welcome to listenlive.eu, a web radio directory 
showcasing over 4000 radio stations from across Europe streaming live on the 
internet.</description>
     <description lang="de">Listenlive.eu ist ein Web-Radio Aggregator mit mehr 
als 4000 Radiostationen aus Europa.</description>
+    <description lang="en">Welcome to listenlive.eu, a web radio directory 
showcasing over 4000 radio stations from across Europe streaming live on the 
internet.</description>
     <description lang="hu">A listenlive.eu több mint 4000 élo rádióadást 
tartalmaz Európából, melyeket az interneten keresztül érhetsz 
el.</description>
     <platform>all</platform>
+    <language></language>
   </extension>
-</addon>
\ No newline at end of file
+</addon>
diff --git a/plugin.audio.listenliveeu/changelog.txt 
b/plugin.audio.listenliveeu/changelog.txt
index ce0f0a4..5fe2c61 100644
--- a/plugin.audio.listenliveeu/changelog.txt
+++ b/plugin.audio.listenliveeu/changelog.txt
@@ -1,7 +1,25 @@
+[B]Version 1.0.1[/B]
+
+- Update: Language files from Transifex
+
+[B]Version 1.0.0[/B]
+
+- Update: Version set to 1.0.0 for Frodo
+
+
+[B]Version 0.4.6[/B]
+
+- Necessary changes for Frodo Release
+- Unicode error in stream listing corrected. Thanks to georgio.
+- Works now with unicode characters in Windows XBMC path and user profile paths
+- Unix style linefeeds
+
+
 [B]Version 0.4.5[/B]
 
 - Necessary changes for Eden Release
 
+
 [B]Version 0.4.3[/B]
 
 - Replaced: os.getcwd() with addon.getAddonInfo('path')
diff --git a/plugin.audio.listenliveeu/default.py 
b/plugin.audio.listenliveeu/default.py
index 0070747..b168ff4 100644
--- a/plugin.audio.listenliveeu/default.py
+++ b/plugin.audio.listenliveeu/default.py
@@ -5,15 +5,15 @@
 import sys, os, os.path, xbmcaddon
 import xbmc, xbmcgui, xbmcplugin
 import urllib, re, time
+from HTMLParser import HTMLParser
 from shutil import rmtree, copy
 import traceback
 from pprint import pprint
 
 __plugin__ = "ListenLiveEU"
-__version__ = '0.4.4'
-__author__ = 'bootsy [[email protected]]'
-__date__ = '07-11-2010'
-__svn__ = 
'http://xbmc-addons.googlecode.com/svn/addons/plugin.audio.listenliveeu/'
+__version__ = '0.4.6'
+__author__ = 'bootsy, xycl'
+__date__ = '2013-01-16'
 
 
 BASE_URL = 'http://www.listenlive.eu'
@@ -21,394 +21,398 @@ URL_INDEX = '/'.join( [BASE_URL, 'index.html'] )
 URL_NEW = '/'.join( [BASE_URL, 'new.html'] )
 
 addon = xbmcaddon.Addon(id='plugin.audio.listenliveeu')
-DIR_HOME = addon.getAddonInfo('path')
-DIR_HOME = xbmc.translatePath(DIR_HOME)
+DIR_HOME = addon.getAddonInfo('path').decode('utf-8')
+DIR_HOME = xbmc.translatePath(DIR_HOME).decode('utf-8')
 FILE_INDEX_PAGE = os.path.join(DIR_HOME, 'index.html')
-DIR_SETTINGS = addon.getAddonInfo('profile')
-DIR_SETTINGS = xbmc.translatePath(DIR_SETTINGS)
+DIR_SETTINGS = addon.getAddonInfo('profile').decode('utf-8')
+DIR_SETTINGS = xbmc.translatePath(DIR_SETTINGS).decode('utf-8')
 FILE_FAVS = os.path.join(DIR_SETTINGS, 'favorites.xml')
 
 dialogProgress = xbmcgui.DialogProgress()
 dialog = xbmcgui.Dialog()
 
 def log(msg):
-       if type(msg) not in (str, unicode):
-               xbmc.log("[%s]: %s" % (__plugin__, type(msg)))
-               pprint (msg)
-       else:
-               xbmc.log("[%s]: %s" % (__plugin__, msg))
+    if type(msg) not in (str, unicode):
+        xbmc.log("[%s]: %s" % (__plugin__, type(msg)))
+        pprint (msg)
+    else:
+        if type(msg) in (unicode,):
+            msg = msg.encode('utf-8')
+        xbmc.log("[%s]: %s" % (__plugin__, msg))
 
 def errorOK(title="", msg=""):
-       e = str( sys.exc_info()[ 1 ] )
-       log(e)
-       if not title:
-               title = __plugin__ + ' v' + __version__
-       if not msg:
-               msg = "ERROR!"
-       dialog.ok( title, msg, e )
-       
+    e = str( sys.exc_info()[ 1 ] )
+    log(e)
+    if not title:
+        title = __plugin__ + ' v' + __version__
+    if not msg:
+        msg = "ERROR!"
+    dialog.ok( title, msg, e )
+    
 
#######################################################################################################################
    
 # write favs file
 
#######################################################################################################################
    
 def writeFavs():
-       f = open(xbmc.translatePath(FILE_FAVS),"w")
-       f.write('This is your favorites file.' + '\n')
-       f.close()
+    f = open(xbmc.translatePath(FILE_FAVS),"w")
+    f.write('This is your favorites file.' + '\n')
+    f.close()
 
 
#######################################################################################################################
    
 # add favorite
 
#######################################################################################################################
    
 def addFav(url):
-       log("> addFav()")
-       if url:
-               try:
-                       favoritesRE=re.compile('(?i)name=(.+?)&url=(.+?)\n')
-                       favorites = favoritesRE.findall(url)
-                       for favorite in favorites:
-                               name = favorite[0]
-                               url = favorite[1]
-                       nameurl = 'name=%s&url=%s%s' % (name, url, '\n')
-                       doc = open(FILE_FAVS, "r+")
-                       text = doc.read().decode('utf-8')
-                       if nameurl in text:
-                               doc.close()                     
-                               dialog.ok( __plugin__ + ' v' + __version__, 
__language__(30015), '', urllib.unquote_plus(name).decode('utf-8') )
-                       else:
-                               doc.write(nameurl)
-                               doc.close()                             
-                               dialog.ok( __plugin__ + ' v' + __version__, 
__language__(30007), '', urllib.unquote_plus(name).decode('utf-8') )
-               except:
-                       dialog.ok( __plugin__ + ' v' + __version__, 
__language__(30008), '', urllib.unquote_plus(name).decode('utf-8') )
-       return True
+    log("> addFav()")
+    if url:
+        try:
+            favoritesRE=re.compile('(?i)name=(.+?)&url=(.+?)\n')
+            favorites = favoritesRE.findall(url)
+            for favorite in favorites:
+                name = favorite[0]
+                url = favorite[1]
+            nameurl = 'name=%s&url=%s%s' % (name, url, '\n')
+            doc = open(FILE_FAVS, "r+")
+            text = doc.read().decode('utf-8')
+            if nameurl in text:
+                doc.close()            
+                dialog.ok( __plugin__ + ' v' + __version__, 
__language__(30015), '', urllib.unquote_plus(name).decode('utf-8') )
+            else:
+                doc.write(nameurl)
+                doc.close()                
+                dialog.ok( __plugin__ + ' v' + __version__, 
__language__(30007), '', urllib.unquote_plus(name).decode('utf-8') )
+        except:
+            dialog.ok( __plugin__ + ' v' + __version__, __language__(30008), 
'', urllib.unquote_plus(name).decode('utf-8') )
+    return True
 
 
#######################################################################################################################
    
 # remove favorite
 
#######################################################################################################################
    
 def remFav(url):
-       log("> remFav()")
-       if url:
-               try:
-                       favoritesRE=re.compile('(?i)name=(.+?)&url=(.+?)\n')
-                       favorites = favoritesRE.findall(url)
-                       for favorite in favorites:
-                               name = favorite[0]
-                               url = favorite[1]
-                       nameurl = 'name=%s&url=%s%s' % (name, url, '\n')
-                       if dialog.yesno( __plugin__ + ' v' + __version__, 
__language__(30009), '', urllib.unquote_plus(name).decode('utf-8') ):
-                               doc = open(FILE_FAVS, "rU")
-                               text = doc.read().decode('utf-8')
-                               doc.close()
-                               doc = open(FILE_FAVS, "w")
-                               doc.write(text.replace(nameurl, ''))
-                               doc.close()     
-                               xbmc.executebuiltin('Container.Refresh')
-                               dialog.ok( __plugin__ + ' v' + __version__, 
__language__(30010), '', urllib.unquote_plus(name).decode('utf-8') )
-                               doc = open(FILE_FAVS).read().decode('utf-8')
-                               if doc == 'This is your favorites file.\n':
-                                       dialog.ok( __plugin__ + ' v' + 
__version__, __language__(30016) )
-               except:
-                       dialog.ok( __plugin__ + ' v' + __version__, 
__language__(30011), '', urllib.unquote_plus(name).decode('utf-8') )
-       return True
+    log("> remFav()")
+    if url:
+        try:
+            favoritesRE=re.compile('(?i)name=(.+?)&url=(.+?)\n')
+            favorites = favoritesRE.findall(url)
+            for favorite in favorites:
+                name = favorite[0]
+                url = favorite[1]
+            nameurl = 'name=%s&url=%s%s' % (name, url, '\n')
+            if dialog.yesno( __plugin__ + ' v' + __version__, 
__language__(30009), '', urllib.unquote_plus(name).decode('utf-8') ):
+                doc = open(FILE_FAVS, "rU")
+                text = doc.read().decode('utf-8')
+                doc.close()
+                doc = open(FILE_FAVS, "w")
+                doc.write(text.replace(nameurl, ''))
+                doc.close()    
+                xbmc.executebuiltin('Container.Refresh')
+                dialog.ok( __plugin__ + ' v' + __version__, 
__language__(30010), '', urllib.unquote_plus(name).decode('utf-8') )
+                doc = open(FILE_FAVS).read().decode('utf-8')
+                if doc == 'This is your favorites file.\n':
+                    dialog.ok( __plugin__ + ' v' + __version__, 
__language__(30016) )
+        except:
+            dialog.ok( __plugin__ + ' v' + __version__, __language__(30011), 
'', urllib.unquote_plus(name).decode('utf-8') )
+    return True
 
 
#######################################################################################################################
    
 # remove all favs
 
######################################################################################################
 def remallFavs(url):
-       log("> remallFavs()")
-       if dialog.yesno(__plugin__ + ' v' + __version__, __language__(30012) ):
-               try:
-                       doc = open(FILE_FAVS).read().decode('utf-8')
-                       if doc == 'This is your favorites file.\n':
-                               dialog.ok( __plugin__ + ' v' + __version__, 
__language__(30017) )
-                       else:
-                               deleteFile(FILE_FAVS)
-                               dialog.ok( __plugin__ + ' v' + __version__, 
__language__(30013) )
-                               xbmc.executebuiltin('Container.Refresh')
-                               writeFavs()
-               except:
-                       dialog.ok( __plugin__ + ' v' + __version__, 
__language__(30014) )
-       return True
-               
+    log("> remallFavs()")
+    if dialog.yesno(__plugin__ + ' v' + __version__, __language__(30012) ):
+        try:
+            doc = open(FILE_FAVS).read().decode('utf-8')
+            if doc == 'This is your favorites file.\n':
+                dialog.ok( __plugin__ + ' v' + __version__, 
__language__(30017) )
+            else:
+                deleteFile(FILE_FAVS)
+                dialog.ok( __plugin__ + ' v' + __version__, 
__language__(30013) )
+                xbmc.executebuiltin('Container.Refresh')
+                writeFavs()
+        except:
+            dialog.ok( __plugin__ + ' v' + __version__, __language__(30014) )
+    return True
+        
 
#######################################################################################################################
    
 # get favorite
 
######################################################################################################
 def getFavorites(url):
-       log("> getFavorites()")
-       doc = open(url).read()
-       if doc:
-               try:
-                       favoritesRE=re.compile('(?i)name=(.+?)&url=(.+?)\n')
-                       favorites = favoritesRE.findall(doc)
-                       for favorite in favorites:
-                               name = favorite[0]
-                               url = favorite[1]
-                               infolabels = {}
-                               
addDirectoryItem(urllib.unquote_plus(name).decode('utf-8'), 
urllib.unquote_plus(url), 3, infoLabels=infolabels, isFolder=False)
-                       xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), 
sortMethod=xbmcplugin.SORT_METHOD_LABEL )
-               except:
-                       errorOK("getFavorites()")
-       log("< getFavorites()")
-       return True
+    log("> getFavorites()")
+    doc = open(url).read()
+    if doc:
+        try:
+            favoritesRE=re.compile('(?i)name=(.+?)&url=(.+?)\n')
+            favorites = favoritesRE.findall(doc)
+            for favorite in favorites:
+                name = favorite[0]
+                url = favorite[1]
+                infolabels = {}
+                addDirectoryItem(urllib.unquote_plus(name).decode('utf-8'), 
urllib.unquote_plus(url), 3, infoLabels=infolabels, isFolder=False)
+            xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), 
sortMethod=xbmcplugin.SORT_METHOD_LABEL )
+        except:
+            errorOK("getFavorites()")
+    log("< getFavorites()")
+    return True
 
 
#######################################################################################################################
    
 # get initial root category
 
#######################################################################################################################
    
 def getRootCats():
-       log("> getRootCats()")  
-       doc = open(FILE_FAVS).read().decode('utf-8')
-       if doc == 'This is your favorites file.\n':
-               items = ( (__language__(30000), "new"), 
(__language__(30001),"country"), (__language__(30002),"genre"), )
-       else:
-               items = ( (__language__(30000), "new"), 
(__language__(30003),"favorites"), (__language__(30001),"country"), 
(__language__(30002),"genre"), )
+    log("> getRootCats()")    
+    doc = open(FILE_FAVS).read().decode('utf-8')
+    if doc == 'This is your favorites file.\n':
+        items = ( (__language__(30000), "new"), 
(__language__(30001),"country"), (__language__(30002),"genre"), )
+    else:
+        items = ( (__language__(30000), "new"), 
(__language__(30003),"favorites"), (__language__(30001),"country"), 
(__language__(30002),"genre"), )
 
-       for title, url in items:
-               addDirectoryItem(title, url, 0)
+    for title, url in items:
+        addDirectoryItem(title, url, 0)
 
-       xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), 
sortMethod=xbmcplugin.SORT_METHOD_LABEL )
-       log("< getRootCats()")
-       return True
+    xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), 
sortMethod=xbmcplugin.SORT_METHOD_LABEL )
+    log("< getRootCats()")
+    return True
 
 
#######################################################################################################################
    
 # Get category of by country or by genre
 
#######################################################################################################################
    
 def getCats(byCountry):
-       log("> getCats() byCountry=%s" % byCountry)
-       ok = False
-
-       doc = getURL(URL_INDEX, FILE_INDEX_PAGE)
-       if doc:
-               log("getCats() parsing ...")
-               try:
-                       # get section
-                       baseRE = '<p>Browse by 
$SECTION.*?</div>(.+?)</tr></tbody></table></div><br />'
-                       if byCountry:
-                               sectionRE = baseRE.replace('$SECTION','country')
-                       else:
-                               sectionRE = baseRE.replace('$SECTION','genre')
-                       #section = re.search(sectionRE, doc, re.IGNORECASE + 
re.MULTILINE + re.DOTALL).group(1)
-                       section = re.search('(?ims)' + sectionRE, doc).group(1)
-
-                       # parse info from section
-                       p=re.compile('<a href="(.+?)".*?>(.+?)</a', 
re.IGNORECASE)
-                       matches = p.findall(section)
-                       for page, name in matches:
-                               url = "/".join([BASE_URL,page])
-                               addDirectoryItem(name,url,1)
-
-                       xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), 
sortMethod=xbmcplugin.SORT_METHOD_LABEL )
-                       ok = True
-               except:
-                       errorOK("getCats()")
-
-       log("< getCats() ok=%s" % ok)
-       return ok
+    log("> getCats() byCountry=%s" % byCountry)
+    ok = False
+
+    doc = getURL(URL_INDEX, FILE_INDEX_PAGE)
+    if doc:
+        log("getCats() parsing ...")
+        try:
+            # get section
+            baseRE = '<p>Browse by 
$SECTION.*?</div>(.+?)</tr></tbody></table></div><br />'
+            if byCountry:
+                sectionRE = baseRE.replace('$SECTION','country')
+            else:
+                sectionRE = baseRE.replace('$SECTION','genre')
+            #section = re.search(sectionRE, doc, re.IGNORECASE + re.MULTILINE 
+ re.DOTALL).group(1)
+            section = re.search('(?ims)' + sectionRE, doc).group(1)
+
+            # parse info from section
+            p=re.compile('<a href="(.+?)".*?>(.+?)</a', re.IGNORECASE)
+            matches = p.findall(section)
+            for page, name in matches:
+                url = "/".join([BASE_URL,page])
+                addDirectoryItem(name,url,1)
+
+            xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), 
sortMethod=xbmcplugin.SORT_METHOD_LABEL )
+            ok = True
+        except:
+            errorOK("getCats()")
+
+    log("< getCats() ok=%s" % ok)
+    return ok
 
 
######################################################################################################
 def getStreams(url):
-       log("> getStreams()")
-       ok = False
-
-       #doc = open('/'.join( [DIR_HOME, 'top40.html'] ) ).read()
-       
-       doc = getURL(url)
-       if doc:
-               try:
-                       log("parsing doc ...")
-                       doc=doc.replace('<br />','')
-                       # get all table rows, one staion per row - with 
possible multiple streams
-                       stationsRE=re.compile('(?ims)(<tr>.*?</tr>)')
-
-                       # url, name, loc, stream(s), genre
-                       #stationRE=re.compile('(?ims)<td><a 
href=".*?"><b>(.*?)</b>.*?<td>(.*?)</td>.*?alt=".*?".*?<td>(<a 
href=.*?</td>).*?(?:<td>(.*?)</td>|</tr>)')
-                       stationRE=re.compile('(?ims)<td.+?<a 
href=".*?"><b>(.*?)</b>.*?<td>(.*?)</td>.*?alt=".*?".*?<td>(<a 
href=.*?</td>).*?(?:<td>(.*?)</td>|</tr>)')
-
-                       #streamsRE=re.compile('(?i)href="(.*?)">(.*?)<')
-                       streamsRE=re.compile('(?i)href="([^"]+)">(\d+ 
+[^"]+|\d+[.]\d+ +[^"]+)</a>')
-
-                       # get all stations
-                       stations = stationsRE.findall(doc)
-                       #pprint (stations)
-                       genreExists = False
-                       for station in stations:
-                               #print station
-
-                               # get station details
-                               stationInfo = re.search(stationRE, station)
-                               if not stationInfo:
-                                       log("stationInfo re not matched - 
ignore station")
-                                       continue
-                               #print stationInfo.groups()
-
-                               # ensure we only use allowed stream type
-                               #type = stationInfo.group(3)
-                               #if type not in ('MP3','Windows Media'):        
                                                # add allowed type here
-                               #       log("ignored stream type: " + type)
-                               #       continue
-                               
-                               name = stationInfo.group(1)
-                               loc = stationInfo.group(2)
-                               streamsData = stationInfo.group(3)
-                               genre = stationInfo.group(4)
-
-                               # parse station streams
-                               streams = streamsRE.findall(streamsData)
-                               
-                               for stream in streams:
-                                       streamURL = stream[0]
-                                       streamRate = stream[1]
-                                       if not streamRate.endswith('Kbps') or 
streamRate.endswith('kbps'):
-                                               log("ignored stream rate: " + 
streamRate)
-                                               continue
-                                       # further filter stream playlist types
-                                       #if streamURL.endswith('.m3u') or 
streamURL.endswith('.pls'):
-                                               #if not 
streamURL.endswith('ogg.m3u') and not streamURL.endswith('aac.m3u'):
-                                                       # stream allowed, 
display it
-                                       infolabels = {}
-                                       label1 = "%s" % (name)
-                                       
-                                       if list_loc=='true':
-                                               label1 += " | %s" % (loc)
-
-                                       if genre:
-                                               if list_genre=='true':
-                                                       label1 += " | %s" % 
(genre)
-                                               infolabels["Genre"] = genre
-                                               genreExists = True              
                # if any have genre then allow SORT_METHOD
-
-                                       if list_rate=='true':
-                                               label1 += " | %s" % (streamRate)
-                                               
-                                       infolabels["Title"] = label1
-                                       streamRate2= streamRate.replace('Kbps', 
'')
-                                       streamRate2= 
streamRate2.replace('kbps', '')
-                                       #print 'rate2: ' + streamRate2 + ' - ' 
+ 'min_rate: ' + min_rate
-                                       if float(streamRate2) >= 
float(min_rate):
-                                               #print 'show it!'
-                                               addDirectoryItem(label1, 
streamURL, 2, infoLabels=infolabels, isFolder=False)
-
-                       xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), 
sortMethod=xbmcplugin.SORT_METHOD_LABEL )
-                       if genreExists:
-                               xbmcplugin.addSortMethod( handle=int( sys.argv[ 
1 ] ), sortMethod=xbmcplugin.SORT_METHOD_GENRE )
-                       ok = True
-               except:
-                       errorOK("getStreams()")
-       log("< getStreams() ok=%s" % ok)
-       return ok
+    log("> getStreams()")
+    ok = False
+
+    #doc = open('/'.join( [DIR_HOME, 'top40.html'] ) ).read()
+    
+    doc = getURL(url)
+    if doc:
+        try:
+            log("parsing doc ...")
+            doc=doc.replace('<br />','')
+            # get all table rows, one staion per row - with possible multiple 
streams
+            stationsRE=re.compile('(?ims)(<tr>.*?</tr>)')
+
+            # url, name, loc, stream(s), genre
+            #stationRE=re.compile('(?ims)<td><a 
href=".*?"><b>(.*?)</b>.*?<td>(.*?)</td>.*?alt=".*?".*?<td>(<a 
href=.*?</td>).*?(?:<td>(.*?)</td>|</tr>)')
+            stationRE=re.compile('(?ims)<td.+?<a 
href=".*?"><b>(.*?)</b>.*?<td>(.*?)</td>.*?alt=".*?".*?<td>(<a 
href=.*?</td>).*?(?:<td>(.*?)</td>|</tr>)')
+
+            #streamsRE=re.compile('(?i)href="(.*?)">(.*?)<')
+            streamsRE=re.compile('(?i)href="([^"]+)">(\d+ +[^"]+|\d+[.]\d+ 
+[^"]+)</a>')
+
+            # get all stations
+            stations = stationsRE.findall(doc)
+            #pprint (stations)
+            genreExists = False
+            for station in stations:
+                #print station
+
+                # get station details
+                stationInfo = re.search(stationRE, station)
+                if not stationInfo:
+                    log("stationInfo re not matched - ignore station")
+                    continue
+                #print stationInfo.groups()
+
+                # ensure we only use allowed stream type
+                #type = stationInfo.group(3)
+                #if type not in ('MP3','Windows Media'):                       
     # add allowed type here
+                #    log("ignored stream type: " + type)
+                #    continue
+                
+                name = stationInfo.group(1)
+                loc = stationInfo.group(2)
+                streamsData = stationInfo.group(3)
+                genre = stationInfo.group(4)
+
+                # parse station streams
+                streams = streamsRE.findall(streamsData)
+                
+                for stream in streams:
+                    streamURL = stream[0]
+                    streamRate = stream[1]
+                    if not streamRate.endswith('Kbps') or 
streamRate.endswith('kbps'):
+                        log("ignored stream rate: " + streamRate)
+                        continue
+                    # further filter stream playlist types
+                    #if streamURL.endswith('.m3u') or 
streamURL.endswith('.pls'):
+                        #if not streamURL.endswith('ogg.m3u') and not 
streamURL.endswith('aac.m3u'):
+                            # stream allowed, display it
+                    infolabels = {}
+                    label1 = "%s" % (name)
+                    
+                    if list_loc=='true':
+                        label1 += " | %s" % (loc)
+
+                    if genre:
+                        if list_genre=='true':
+                            label1 += " | %s" % (genre)
+                        infolabels["Genre"] = genre
+                        genreExists = True                # if any have genre 
then allow SORT_METHOD
+
+                    if list_rate=='true':
+                        label1 += " | %s" % (streamRate)
+                        
+                    infolabels["Title"] = HTMLParser().unescape(label1)
+                    streamRate2= streamRate.replace('Kbps', '')
+                    streamRate2= streamRate2.replace('kbps', '')
+                    #print 'rate2: ' + streamRate2 + ' - ' + 'min_rate: ' + 
min_rate
+                    if float(streamRate2) >= float(min_rate):
+                        #print 'show it!'
+                        addDirectoryItem(HTMLParser().unescape(label1), 
streamURL, 2, infoLabels=infolabels, isFolder=False)
+
+            xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), 
sortMethod=xbmcplugin.SORT_METHOD_LABEL )
+            if genreExists:
+                xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), 
sortMethod=xbmcplugin.SORT_METHOD_GENRE )
+            ok = True
+        except:
+            errorOK("getStreams()")
+    log("< getStreams() ok=%s" % ok)
+    return ok
 
 
######################################################################################################
 # fetch webpage or open filename if exists
 
######################################################################################################
 def getURL(url, fn=''):
-       """ read a doc from an url and save to file (if required) """
-       
-       try:
-               doc = ''
-               # load local file if exists
-               if fn and os.path.isfile(fn):
-                       doc = open(fn).read()
-                       if not doc:
-                               deleteFile(fn)                  # empty file, 
remove it
-                               log("Empty file removed: " + fn)
-                               doc = ''
-                       else:
-                               log("Loaded existing file: " + fn)
-
-               if not doc:
-                       safe_url = url.replace( " ", "%20" )
-                       log('Downloading from url=%s' % safe_url)
-                       sock = urllib.urlopen( safe_url )
-                       doc = sock.read()
-                       if fn:
-                               fp = open(fn, "w")
-                               fp.write(doc)
-                               fp.close()
-                               log("File saved to " + fn)
-                       sock.close()
-
-               if doc:
-                       return unicode(doc, 'UTF-8')
-               else:
-                       return ''
-       except:
-               errorOK("getURL()")
-               return None
+    """ read a doc from an url and save to file (if required) """
+    
+    try:
+        doc = ''
+        # load local file if exists
+        if fn and os.path.isfile(fn):
+            doc = open(fn).read()
+            if not doc:
+                deleteFile(fn)            # empty file, remove it
+                log("Empty file removed: " + fn)
+                doc = ''
+            else:
+                log("Loaded existing file: " + fn)
+
+        if not doc:
+            safe_url = url.replace( " ", "%20" )
+            log('Downloading from url=%s' % safe_url)
+            sock = urllib.urlopen( safe_url )
+            doc = sock.read()
+            if fn:
+                fp = open(fn, "w")
+                fp.write(doc)
+                fp.close()
+                log("File saved to " + fn)
+            sock.close()
+
+        if doc:
+            return unicode(doc, 'utf-8', errors='ignore')
+        else:
+            return ''
+    except:
+        errorOK("getURL()")
+        return None
 
 
######################################################################################################
 def get_params():
-       """ extract params from argv[2] to make a dict (key=value) """
-       paramDict = {}
-       try:
-               if sys.argv[2]:
-                       paramPairs=sys.argv[2][1:].split( "&" )
-                       for paramsPair in paramPairs:
-                               paramSplits = paramsPair.split('=')
-                               if (len(paramSplits))==2:
-                                       paramDict[paramSplits[0]] = 
paramSplits[1]
-       except:
-               errorOK()
-       return paramDict
+    """ extract params from argv[2] to make a dict (key=value) """
+    paramDict = {}
+    try:
+        if sys.argv[2]:
+            paramPairs=sys.argv[2][1:].split( "&" )
+            for paramsPair in paramPairs:
+                paramSplits = paramsPair.split('=')
+                if (len(paramSplits))==2:
+                    paramDict[paramSplits[0]] = paramSplits[1]
+    except:
+        errorOK()
+    return paramDict
 
 
######################################################################################################
 def addDirectoryItem(name, url, mode, label2='', infoType="Music", infoLabels 
= {}, isFolder=True):
-       liz=xbmcgui.ListItem(name, label2)
-       if not infoLabels:
-               infoLabels = {"Title": name }
-       liz.setInfo( infoType, infoLabels )
-       
-       v = "?name=%s&url=%s" % (urllib.quote_plus(name.encode('utf-8')), 
urllib.quote_plus(url.encode('utf-8')), )
-       action1 = 'XBMC.RunPlugin(plugin://plugin.audio.listenliveeu/?add%s%s)' 
% (v, '\n')
-       action2 = 
'XBMC.RunPlugin(plugin://plugin.audio.listenliveeu/?remfav%s%s)' % (v, '\n')
-       action3 = 
'XBMC.RunPlugin(plugin://plugin.audio.listenliveeu/?removeall)'
-       
-       if mode==2:
-               try:
-                       liz.addContextMenuItems([(__language__(30004), 
action1), (__language__(30006), action3)])
-               except:
-                       errorOK("addDirectoryItem()")
-               
-       elif mode==3:
-               try:
-                       liz.addContextMenuItems([(__language__(30005), 
action2), (__language__(30006), action3)])
-               except:
-                       errorOK("addDirectoryItem()")
-
-       u = "%s?url=%s&mode=%s&name=%s" % (sys.argv[0], urllib.quote_plus(url), 
mode, urllib.quote_plus(name.encode('utf-8')), )
-       log("%s" % u)
-       return 
xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,isFolder=isFolder)
+    liz=xbmcgui.ListItem(name, label2)
+    if not infoLabels:
+        infoLabels = {"Title": name }
+    liz.setInfo( infoType, infoLabels )
+    
+    v = "?name=%s&url=%s" % (urllib.quote_plus(name.encode('utf-8')), 
urllib.quote_plus(url.encode('utf-8')), )
+    action1 = 'XBMC.RunPlugin(plugin://plugin.audio.listenliveeu/?add%s%s)' % 
(v, '\n')
+    action2 = 'XBMC.RunPlugin(plugin://plugin.audio.listenliveeu/?remfav%s%s)' 
% (v, '\n')
+    action3 = 'XBMC.RunPlugin(plugin://plugin.audio.listenliveeu/?removeall)'
+    
+    if mode==2:
+        try:
+            liz.addContextMenuItems([(__language__(30004), action1), 
(__language__(30006), action3)])
+        except:
+            errorOK("addDirectoryItem()")
+        
+    elif mode==3:
+        try:
+            liz.addContextMenuItems([(__language__(30005), action2), 
(__language__(30006), action3)])
+        except:
+            errorOK("addDirectoryItem()")
+
+    u = "%s?url=%s&mode=%s&name=%s" % (sys.argv[0], urllib.quote_plus(url), 
mode, urllib.quote_plus(name.encode('utf-8')), )
+    log("%s" % u)
+    return 
xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,isFolder=isFolder)
 
 
######################################################################################################
-def playStream(url):
-       try:
-               log("> playStream() " + url)
-               plyr = xbmc.Player()
-               plyr.play(str(url))
-               isPlaying = plyr.isPlaying()
-               log("< playStream() isPlaying=%s" % isPlaying)
-               return isPlaying
-       except:
-               errorOK("playStream()")
-               return False
+def playStream(url, title=" "):
+    try:
+        log("> playStream() " + url)
+        log("> playStream() " + title)
+        plyr = xbmc.Player(xbmc.PLAYER_CORE_DVDPLAYER)
+        plyr.play( url )
+        isPlaying = plyr.isPlaying()
+        log("< playStream() isPlaying=%s" % isPlaying)
+        return isPlaying
+    except:
+        errorOK("playStream()")
+        return False
 
 
######################################################################################################
 def deleteFile(fn):
-       try:
-               os.remove(fn)
-               log("File deleted: " + fn)
-       except: pass
-               
+    try:
+        os.remove(fn)
+        log("File deleted: " + fn)
+    except: pass
+        
 
#######################################################################################################################
    
 # BEGIN !
 
#######################################################################################################################
 try:
-       __settings__ = xbmcaddon.Addon(id='plugin.audio.listenliveeu')
-       __language__ = __settings__.getLocalizedString
+    __settings__ = xbmcaddon.Addon(id='plugin.audio.listenliveeu')
+    __language__ = __settings__.getLocalizedString
 except:
-       errorOK()
+    errorOK()
+
 
 if not os.path.exists(DIR_SETTINGS):
-       os.mkdir(DIR_SETTINGS)
+    os.mkdir(DIR_SETTINGS)
 if not os.path.exists(FILE_FAVS):
-       writeFavs()
+    writeFavs()
 
 
#######################################################################################################################
    
 # get settings
@@ -429,30 +433,39 @@ log("URL: %s" % url)
 log("Name: %s" % name)
 
 if "?add" in sys.argv[ 2 ] :
-       ok = addFav(sys.argv[ 2 ])
+    ok = addFav(sys.argv[ 2 ])
+    xbmcplugin.endOfDirectory(int(sys.argv[1]), ok)
 elif "?remfav" in sys.argv[ 2 ] :
-       ok = remFav(sys.argv[ 2 ])
+    ok = remFav(sys.argv[ 2 ])
+    xbmcplugin.endOfDirectory(int(sys.argv[1]), ok)
 elif "?removeall" in sys.argv[ 2 ] :
-       ok = remallFavs(url)
+    ok = remallFavs(url)
+    xbmcplugin.endOfDirectory(int(sys.argv[1]), ok)
 
 if not "?add" in sys.argv[ 2 ] and not "?remfav" in sys.argv[ 2 ] and not 
"?removeall" in sys.argv[ 2 ]:
-       if not sys.argv[ 2 ] or not url:
-               # new start - cleanup old files
-               deleteFile(FILE_INDEX_PAGE)
-
-               ok = getRootCats()
-       elif url == "new":
-               ok = getStreams(URL_NEW)
-       elif url == "favorites":
-               ok = getFavorites(FILE_FAVS)
-       elif url == "country":
-               ok = getCats(True)
-       elif url == "genre":
-               ok = getCats(False)
-       elif mode==1:
-               ok = getStreams(url)
-       elif mode==2:
-               ok = playStream(url)
-       elif mode==3:
-               ok = playStream(url)
-       xbmcplugin.endOfDirectory(int(sys.argv[1]), ok)
\ No newline at end of file
+    if not sys.argv[ 2 ] or not url:
+        # new start - cleanup old files
+        deleteFile(FILE_INDEX_PAGE)
+
+        ok = getRootCats()
+        xbmcplugin.endOfDirectory(int(sys.argv[1]), ok)
+    elif url == "new":
+        ok = getStreams(URL_NEW)
+        xbmcplugin.endOfDirectory(int(sys.argv[1]), ok)
+    elif url == "favorites":
+        ok = getFavorites(FILE_FAVS)
+        xbmcplugin.endOfDirectory(int(sys.argv[1]), ok)
+    elif url == "country":
+        ok = getCats(True)
+        xbmcplugin.endOfDirectory(int(sys.argv[1]), ok)
+    elif url == "genre":
+        ok = getCats(False)
+        xbmcplugin.endOfDirectory(int(sys.argv[1]), ok)
+    elif mode==1:
+        ok = getStreams(url)
+        xbmcplugin.endOfDirectory(int(sys.argv[1]), ok)
+    elif mode==2:
+        ok = playStream(url, name)
+    elif mode==3:
+        ok = playStream(url, name)
+    
\ No newline at end of file

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

Summary of changes:
 plugin.audio.listenliveeu/addon.xml                |   11 +-
 plugin.audio.listenliveeu/changelog.txt            |   18 +
 plugin.audio.listenliveeu/default.py               |  701 ++++++++++----------
 .../resources/language/English/strings.po          |  162 +++++
 .../resources/language/English/strings.xml         |   45 --
 .../resources/language/Finnish/strings.po          |   93 +++
 .../resources/language/Finnish/strings.xml         |   25 -
 .../resources/language/German/strings.po           |  105 +++
 .../resources/language/German/strings.xml          |   33 -
 .../resources/language/Hungarian/strings.po        |   93 +++
 .../resources/language/Hungarian/strings.xml       |   26 -
 .../resources/language/Swedish/strings.po          |   93 +++
 .../resources/language/Swedish/strings.xml         |   27 -
 plugin.video.hdtrailers_net/addon.xml              |   27 +-
 plugin.video.hdtrailers_net/changelog.txt          |    4 +
 .../resources/language/Afrikaans/strings.xml       |   14 +
 .../resources/language/Albanian/strings.xml        |    0
 .../resources/language/Amharic/strings.xml         |   11 +
 .../resources/language/Arabic/strings.xml          |   28 +
 .../resources/language/Basque/strings.xml          |   14 +
 .../resources/language/Belarusian/strings.xml      |   14 +
 .../resources/language/Bosnian/strings.xml         |    8 +
 .../resources/language/Bulgarian/strings.xml       |   14 +
 .../resources/language/Catalan/strings.xml         |   11 +
 .../language/Chinese (Simple)/strings.xml          |   14 +
 .../language/Chinese (Traditional)/strings.xml     |   14 +
 .../resources/language/Croatian/strings.xml        |   14 +
 .../resources/language/Czech/strings.xml           |   14 +
 .../resources/language/Danish/strings.xml          |   28 +
 .../resources/language/Dutch/strings.xml           |   21 +
 .../resources/language/English/strings.xml         |    4 +
 .../resources/language/Esperanto/strings.xml       |    9 +
 .../resources/language/Estonian/strings.xml        |   13 +
 .../resources/language/Finnish/strings.xml         |   14 +
 .../resources/language/French/strings.xml          |   14 +
 .../resources/language/Galician/strings.xml        |   14 +
 .../resources/language/German/strings.xml          |    4 +
 .../resources/language/Greek/strings.xml           |   28 +
 .../language/Haitian (Haitian Creole)/strings.xml  |    9 +
 .../resources/language/Hebrew/strings.xml          |   14 +
 .../language/Hindi (Devanagiri)/strings.xml        |    9 +
 .../resources/language/Hungarian/strings.xml       |   28 +
 .../resources/language/Icelandic/strings.xml       |   12 +
 .../resources/language/Indonesian/strings.xml      |    9 +
 .../resources/language/Italian/strings.xml         |   28 +
 .../resources/language/Japanese/strings.xml        |   14 +
 .../resources/language/Korean/strings.xml          |   28 +
 .../resources/language/Lithuanian/strings.xml      |   14 +
 .../resources/language/Macedonian/strings.xml      |   14 +
 .../resources/language/Malayalam/strings.xml       |    8 +
 .../resources/language/Maltese/strings.xml         |    8 +
 .../resources/language/Norwegian/strings.xml       |   28 +
 .../resources/language/Persian/strings.xml         |   11 +
 .../resources/language/Polish/strings.xml          |   28 +
 .../language/Portuguese (Brazil)/strings.xml       |   28 +
 .../resources/language/Portuguese/strings.xml      |   28 +
 .../resources/language/Romanian/strings.xml        |   14 +
 .../resources/language/Russian/strings.xml         |   14 +
 .../language/Serbian (Cyrillic)/strings.xml        |   11 +
 .../resources/language/Serbian/strings.xml         |   11 +
 .../resources/language/Slovak/strings.xml          |   28 +
 .../resources/language/Slovenian/strings.xml       |   14 +
 .../language/Spanish (Argentina)/strings.xml       |   14 +
 .../language/Spanish (Mexico)/strings.xml          |   14 +
 .../resources/language/Spanish/strings.xml         |   14 +
 .../resources/language/Swedish/strings.xml         |   28 +
 .../resources/language/Thai/strings.xml            |   14 +
 .../resources/language/Turkish/strings.xml         |   13 +
 .../resources/language/Ukrainian/strings.xml       |   11 +
 .../resources/language/Vietnamese/strings.xml      |    0
 .../resources/lib/scraper.py                       |    2 +-
 71 files changed, 1795 insertions(+), 507 deletions(-)
 create mode 100644 
plugin.audio.listenliveeu/resources/language/English/strings.po
 delete mode 100644 
plugin.audio.listenliveeu/resources/language/English/strings.xml
 create mode 100644 
plugin.audio.listenliveeu/resources/language/Finnish/strings.po
 delete mode 100644 
plugin.audio.listenliveeu/resources/language/Finnish/strings.xml
 create mode 100644 
plugin.audio.listenliveeu/resources/language/German/strings.po
 delete mode 100644 
plugin.audio.listenliveeu/resources/language/German/strings.xml
 create mode 100644 
plugin.audio.listenliveeu/resources/language/Hungarian/strings.po
 delete mode 100644 
plugin.audio.listenliveeu/resources/language/Hungarian/strings.xml
 create mode 100644 
plugin.audio.listenliveeu/resources/language/Swedish/strings.po
 delete mode 100644 
plugin.audio.listenliveeu/resources/language/Swedish/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Afrikaans/strings.xml
 copy {plugin.video.nasa => 
plugin.video.hdtrailers_net}/resources/language/Albanian/strings.xml (100%)
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Amharic/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Arabic/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Basque/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Belarusian/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Bosnian/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Bulgarian/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Catalan/strings.xml
 create mode 100644 plugin.video.hdtrailers_net/resources/language/Chinese 
(Simple)/strings.xml
 create mode 100644 plugin.video.hdtrailers_net/resources/language/Chinese 
(Traditional)/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Croatian/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Czech/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Danish/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Dutch/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Esperanto/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Estonian/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Finnish/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/French/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Galician/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Greek/strings.xml
 create mode 100644 plugin.video.hdtrailers_net/resources/language/Haitian 
(Haitian Creole)/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Hebrew/strings.xml
 create mode 100644 plugin.video.hdtrailers_net/resources/language/Hindi 
(Devanagiri)/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Hungarian/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Icelandic/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Indonesian/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Italian/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Japanese/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Korean/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Lithuanian/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Macedonian/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Malayalam/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Maltese/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Norwegian/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Persian/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Polish/strings.xml
 create mode 100644 plugin.video.hdtrailers_net/resources/language/Portuguese 
(Brazil)/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Portuguese/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Romanian/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Russian/strings.xml
 create mode 100644 plugin.video.hdtrailers_net/resources/language/Serbian 
(Cyrillic)/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Serbian/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Slovak/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Slovenian/strings.xml
 create mode 100644 plugin.video.hdtrailers_net/resources/language/Spanish 
(Argentina)/strings.xml
 create mode 100644 plugin.video.hdtrailers_net/resources/language/Spanish 
(Mexico)/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Spanish/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Swedish/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Thai/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Turkish/strings.xml
 create mode 100644 
plugin.video.hdtrailers_net/resources/language/Ukrainian/strings.xml
 copy {plugin.video.nasa => 
plugin.video.hdtrailers_net}/resources/language/Vietnamese/strings.xml (100%)


hooks/post-receive
-- 
Plugins

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122912
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons

Reply via email to