The branch, eden has been updated
       via  202d462e7dd5aad6160ee00ae9e9dc68dc95acc2 (commit)
       via  6afe90e13c048b9dac1e1cc82d2be9799530a5e4 (commit)
       via  7e7f0e51c2dc0b5887c422f0377108a2035068ca (commit)
       via  add7ca2f02762f11ecfe2c5c579e6f8931e935d1 (commit)
      from  52c928134c05f3c638895cd603d5ee0939e2448c (commit)

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


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

commit 6afe90e13c048b9dac1e1cc82d2be9799530a5e4
Author: spiff <[email protected]>
Date:   Wed Jul 11 21:46:55 2012 +0200

    [plugin.video.mpora_com] updated to version 1.0.3

diff --git a/plugin.video.mpora_com/addon.xml b/plugin.video.mpora_com/addon.xml
index 802ca4d..cd11efe 100644
--- a/plugin.video.mpora_com/addon.xml
+++ b/plugin.video.mpora_com/addon.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<addon id="plugin.video.mpora_com" name="Mpora.com" version="1.0.2" 
provider-name="AddonScriptorDE">
+<addon id="plugin.video.mpora_com" name="Mpora.com" version="1.0.3" 
provider-name="AddonScriptorDE">
     <requires>
         <import addon="xbmc.python" version="2.0"/>
     </requires>
diff --git a/plugin.video.mpora_com/changelog.txt 
b/plugin.video.mpora_com/changelog.txt
index 775aa39..6762009 100644
--- a/plugin.video.mpora_com/changelog.txt
+++ b/plugin.video.mpora_com/changelog.txt
@@ -1,6 +1,9 @@
 1.0.0
 - First Try
 1.0.1
-- Added option for maximum video quality
+- Added setting for maximum video quality
 1.0.2
-- Added option for forcing the view mode
\ No newline at end of file
+- Added setting to force view mode
+1.0.3
+- Fixed site changes for video playback
+- Added "Play all videos" mode
\ No newline at end of file
diff --git a/plugin.video.mpora_com/default.py 
b/plugin.video.mpora_com/default.py
index 06277b2..b75eaf4 100644
--- a/plugin.video.mpora_com/default.py
+++ b/plugin.video.mpora_com/default.py
@@ -51,6 +51,7 @@ def sortDirection(url):
           xbmc.executebuiltin('Container.SetViewMode('+viewMode+')')
 
 def listVideos(url):
+        addLink(translation(30021),url,'playAll',"")
         content = getUrl(url)
         matchPage=re.compile('<a class="next_page" rel="next" href="(.+?)">', 
re.DOTALL).findall(content)
         content = content[content.find('<ul class="video-list">'):]
@@ -73,6 +74,31 @@ def listVideos(url):
         if forceViewMode==True:
           xbmc.executebuiltin('Container.SetViewMode('+viewMode+')')
 
+def playAll(url):
+        content = getUrl(url)
+        matchPage=re.compile('<a class="next_page" rel="next" href="(.+?)">', 
re.DOTALL).findall(content)
+        content = content[content.find('<ul class="video-list">'):]
+        content = content[:content.find('</ul>')]
+        spl=content.split('<li')
+        playlist = xbmc.PlayList(xbmc.PLAYLIST_VIDEO)
+        playlist.clear()
+        i=1
+        for i in range(1,len(spl),1):
+            entry=spl[i]
+            match=re.compile('<h6>(.+?)</h6>', re.DOTALL).findall(entry)
+            title=match[0]
+            title=cleanTitle(title)
+            match=re.compile('href="(.+?)"', re.DOTALL).findall(entry)
+            url="http://mpora.com"+match[0]
+            if xbox==True:
+              
url="plugin://video/Mpora.com/?url="+urllib.quote_plus(url)+"&mode=playVideo"
+            else:
+              
url="plugin://plugin.video.mpora_com/?url="+urllib.quote_plus(url)+"&mode=playVideo"
+            listitem = xbmcgui.ListItem(title)
+            i=i+1
+            playlist.add(url,listitem)
+        xbmc.executebuiltin('XBMC.Playlist.PlayOffset(-1)')
+
 def search():
         keyboard = xbmc.Keyboard('', translation(30020))
         keyboard.doModal()
@@ -82,15 +108,11 @@ def search():
 
 def playVideo(url):
         content = getUrl(url)
-        match=re.compile('<video controls="controls" height="(.+?)" id="(.+?)" 
preload="(.+?)" src="(.+?)" width="(.+?)"></video>', re.DOTALL).findall(content)
-        url=match[0][3]
-        if maxVideoQuality=="720p" and url.find("_640"):
-          req = urllib2.Request(url.replace("_640","_1280"))
-          try:
-            urllib2.urlopen(req)
-            url=url.replace("_640","_1280")
-          except:
-            pass
+        matchSD=re.compile('"sd":{"src":"(.+?)"', re.DOTALL).findall(content)
+        matchHD=re.compile('"hd":{"src":"(.+?)"', re.DOTALL).findall(content)
+        url=matchSD[0]
+        if maxVideoQuality=="720p" and len(matchHD)>0:
+          url=matchHD[0]
         listitem = xbmcgui.ListItem(path=url)
         return xbmcplugin.setResolvedUrl(pluginhandle, True, listitem)
 
@@ -152,6 +174,8 @@ elif mode == 'sortDirection':
     sortDirection(url)
 elif mode == 'playVideo':
     playVideo(url)
+elif mode == 'playAll':
+    playAll(url)
 elif mode == 'search':
     search()
 else:
diff --git a/plugin.video.mpora_com/resources/language/English/strings.xml 
b/plugin.video.mpora_com/resources/language/English/strings.xml
index 15e82f8..3a587a6 100644
--- a/plugin.video.mpora_com/resources/language/English/strings.xml
+++ b/plugin.video.mpora_com/resources/language/English/strings.xml
@@ -20,6 +20,7 @@
   <string id="30018">Brands</string>
   <string id="30019">HD only</string>
   <string id="30020">Search</string>
+  <string id="30021">Play all videos</string>
   <string id="30101">Maximum video quality</string>
   <string id="30102">Force ViewMode</string>
   <string id="30103">ViewMode</string>
diff --git a/plugin.video.mpora_com/resources/language/German/strings.xml 
b/plugin.video.mpora_com/resources/language/German/strings.xml
index 5850641..338a104 100644
--- a/plugin.video.mpora_com/resources/language/German/strings.xml
+++ b/plugin.video.mpora_com/resources/language/German/strings.xml
@@ -2,6 +2,7 @@
 <strings>
   <string id="30001">Nächste Seite</string>
   <string id="30020">Suche</string>
+  <string id="30021">Alle Videos abspielen</string>
   <string id="30101">Maximale Videoqualität</string>
   <string id="30102">ViewMode erzwingen</string>
 </strings>

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

commit 7e7f0e51c2dc0b5887c422f0377108a2035068ca
Author: spiff <[email protected]>
Date:   Wed Jul 11 21:45:22 2012 +0200

    [plugin.video.filmstarts_de] updated to version 1.0.5

diff --git a/plugin.video.filmstarts_de/addon.xml 
b/plugin.video.filmstarts_de/addon.xml
index c8dbc1d..d2898d2 100644
--- a/plugin.video.filmstarts_de/addon.xml
+++ b/plugin.video.filmstarts_de/addon.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<addon id="plugin.video.filmstarts_de" name="FilmStarts.de" version="1.0.4" 
provider-name="AddonScriptorDE">
+<addon id="plugin.video.filmstarts_de" name="FilmStarts.de" version="1.0.5" 
provider-name="AddonScriptorDE">
     <requires>
         <import addon="xbmc.python" version="2.0"/>
     </requires>
@@ -8,11 +8,11 @@
     </extension>
     <extension point="xbmc.addon.metadata">
         <platform>all</platform>
-        <summary lang="de">Deutsche Trailer und Filmnews</summary>
-        <summary lang="en">German Trailer and Movienews</summary>
+        <summary lang="de">Deutsche Trailer, Filmnews und Interviews</summary>
+        <summary lang="en">German trailers, movie-news and interviews</summary>
         <language>de</language>
-        <description lang="de">Deutsche Trailer und Filmnews</description>
-        <description lang="en">German Trailer and Movienews</description>
+        <description lang="de">Deutsche Trailer, Filmnews und 
Interviews</description>
+        <description lang="en">German trailers, movie-news and 
interviews</description>
     <platform>all</platform>
     </extension>
 </addon>
diff --git a/plugin.video.filmstarts_de/changelog.txt 
b/plugin.video.filmstarts_de/changelog.txt
index 86a3d5c..ff25d12 100644
--- a/plugin.video.filmstarts_de/changelog.txt
+++ b/plugin.video.filmstarts_de/changelog.txt
@@ -9,4 +9,9 @@
 - Various fixes and optical optimizations
 1.0.4 
 - Added sort selection for trailers
-- Various fixes
\ No newline at end of file
+- Various fixes
+1.0.5
+- Added trailer search
+- Removed trailer archiv
+- Added setting to show all trailers
+- Added setting to force view mode
\ No newline at end of file
diff --git a/plugin.video.filmstarts_de/default.py 
b/plugin.video.filmstarts_de/default.py
index 3e83a8c..58dd94a 100644
--- a/plugin.video.filmstarts_de/default.py
+++ b/plugin.video.filmstarts_de/default.py
@@ -1,21 +1,33 @@
 #!/usr/bin/python
 # -*- coding: utf-8 -*-
-import urllib,urllib2,re,xbmcplugin,xbmcgui,sys,xbmcaddon
+import urllib,urllib2,re,xbmcplugin,xbmcgui,sys,xbmcaddon,socket
 
 pluginhandle = int(sys.argv[1])
+xbox = xbmc.getCondVisibility("System.Platform.xbox")
 settings = xbmcaddon.Addon(id='plugin.video.filmstarts_de')
 translation = settings.getLocalizedString
 
+showAllTrailers=settings.getSetting("showAllTrailers")
+forceViewMode=settings.getSetting("forceViewMode")
+if forceViewMode=="true":
+  forceViewMode=True
+else:
+  forceViewMode=False
+viewMode=str(settings.getSetting("viewMode"))
+
 def index():
+        addDir('Trailer: '+translation(30008),'',"search",'')
         addDir('Trailer: 
'+translation(30001),'http://www.filmstarts.de/trailer/aktuell_im_kino.html?version=1',"showSortDirection",'')
         addDir('Trailer: 
'+translation(30002),'http://www.filmstarts.de/trailer/bald_im_kino.html?version=1',"showSortDirection",'')
-        addDir('Trailer: 
Archiv','http://www.filmstarts.de/trailer/archiv.html?version=1',"showSortDirection",'')
+        #addDir('Trailer: 
Archiv','http://www.filmstarts.de/trailer/archiv.html?version=1',"showSortDirection",'')
+        addDir('Filmstarts: 
Interviews','http://www.filmstarts.de/trailer/interviews/',"listVideosInterview",'')
         addDir('Filmstarts: Fünf 
Sterne','http://www.filmstarts.de/videos/shows/funf-sterne',"listVideosMagazin",'')
         addDir('Filmstarts: 
Fehlerteufel','http://www.filmstarts.de/videos/shows/filmstarts-fehlerteufel',"listVideosMagazin",'')
         addDir('Meine 
Lieblings-Filmszene','http://www.filmstarts.de/videos/shows/meine-lieblings-filmszene',"listVideosMagazin",'')
-        
addDir('Video-Interviews','http://www.filmstarts.de/trailer/interviews/',"listVideosInterview",'')
         
addDir('Serien-Trailer','http://www.filmstarts.de/trailer/serien/',"listVideosTV",'')
         xbmcplugin.endOfDirectory(pluginhandle)
+        if forceViewMode==True:
+          xbmc.executebuiltin('Container.SetViewMode('+viewMode+')')
 
 def showSortDirection(url):
         
addDir(translation(30003),url.replace("?version=1","?sort_order=0&version=1"),"listVideosTrailer",'')
@@ -23,6 +35,8 @@ def showSortDirection(url):
         
addDir(translation(30005),url.replace("?version=1","?sort_order=3&version=1"),"listVideosTrailer",'')
         
addDir(translation(30006),url.replace("?version=1","?sort_order=2&version=1"),"listVideosTrailer",'')
         xbmcplugin.endOfDirectory(pluginhandle)
+        if forceViewMode==True:
+          xbmc.executebuiltin('Container.SetViewMode('+viewMode+')')
 
 def listVideos(urlFull):
         content = getUrl(urlFull)
@@ -42,7 +56,11 @@ def listVideos(urlFull):
         if mode=="listVideosTrailer":
           match=re.compile('<img src=\'(.+?)\' alt="(.+?)" title="(.+?)" 
/>\n</span>\n</div>\n<div class="contenzone">\n<div class="titlebar">\n<a 
class="link" href="(.+?)">\n<span class=\'bold\'>(.+?)</span>', 
re.DOTALL).findall(content)
           for thumb,temp1,temp2,url,title in match:
-                addLink(title,'http://www.filmstarts.de' + 
url,"playVideo",thumb)
+                if showAllTrailers=="true":
+                  url=url[:url.find("/trailer/")]+"/trailers/"
+                  addDir(title,'http://www.filmstarts.de' + 
url,"listTrailers",thumb)
+                else:
+                  addLink(title,'http://www.filmstarts.de' + 
url,"playVideo",thumb)
         elif mode=="listVideosMagazin":
           if currentPage==1:
             match=re.compile('<a href="(.+?)">\n<img src="(.+?)" alt="" 
/>\n</a>\n</div>\n<div style="(.+?)">\n<h2 class="(.+?)" 
style="(.+?)"><b>(.+?)</b> (.+?)</h2><br />\n<span style="(.+?)" 
class="purehtml fs11">\n(.+?)<a class="btn" href="(.+?)"', 
re.DOTALL).findall(content)
@@ -83,6 +101,57 @@ def listVideos(urlFull):
             urlNew=urlFull + "?page="+str(currentPage+1)
           addDir(translation(30007)+" ("+str(currentPage+1)+")",urlNew,mode,'')
         xbmcplugin.endOfDirectory(pluginhandle)
+        if forceViewMode==True:
+          xbmc.executebuiltin('Container.SetViewMode('+viewMode+')')
+
+def listTrailers(url):
+        content = getUrl(url)
+        splMain=content.split('<div class="media_list_02')
+        for i in range(1,len(splMain),1):
+          entryMain = splMain[i]
+          entryMain = entryMain[:entryMain.find('</div>')]
+          spl=entryMain.split("<li>")
+          for i in range(1,len(spl),1):
+            entry=spl[i]
+            match=re.compile("src='(.+?)'", re.DOTALL).findall(entry)
+            thumb=match[0]
+            match=re.compile("title='(.+?)'", re.DOTALL).findall(entry)
+            title=match[0].replace(" DF", " - 
"+str(translation(30009))).replace(" OV", " - "+str(translation(30010)))
+            title=cleanTitle(title)
+            match=re.compile('href="(.+?)"', re.DOTALL).findall(entry)
+            url="http://www.filmstarts.de"+match[0]
+            addLink(title,url,'playVideo',thumb)
+        xbmcplugin.endOfDirectory(pluginhandle)
+        if forceViewMode==True:
+          xbmc.executebuiltin('Container.SetViewMode('+viewMode+')')
+
+def cleanTitle(title):
+        
title=title.replace("&lt;","<").replace("&gt;",">").replace("&amp;","&").replace("&#39;","'").replace("&quot;","\"").replace("&szlig;","ß").replace("&ndash;","-")
+        
title=title.replace("&#38;","&").replace("&#8230;","...").replace("&#8211;","-").replace("&#8220;","-").replace("&#8221;","-").replace("&#8217;","'")
+        
title=title.replace("&#196;","Ä").replace("&#220;","Ü").replace("&#214;","Ö").replace("&#228;","ä").replace("&#252;","ü").replace("&#246;","ö").replace("&#223;","ß").replace("&#176;","°").replace("&#233;","é").replace("&#224;","à")
+        title=title.strip()
+        return title
+
+def search():
+        keyboard = xbmc.Keyboard('', 
str).replace("&#220;","Ü").replace("&#214;","Ö").replace("&#228;","ä").replace("&#252;","ü").replace("&#246;","ö").replace("&#223;","ß").replace("&#176;","°").replace("&#233;","é").replace("&#224;","à"),
 re.DOTALL).findall(content)èè!è! 
~¢®ÿ~¢®ÿx”iÑA+€t¢®ÿ’ÂLÐA+†àLÐA+ 
~¢®ÿ`ÂLÐA+_~¢®ÿÀÍÑA+uÊLÐA+€ÍÑA+؄ÍÑA+¨‰ÍÑA+€êMÐA+x”iÑA+€t¢®ÿPs¢®ÿkàLÐA+à!à!
 ~¢®ÿ~¢®ÿH^IÑA+`u¢®ÿ’ÂLÐA+†àLÐA+ 
~¢®ÿ`ÂLÐA+_~¢®ÿP~¢®ÿH~¢®ÿ8ëmÐA+Œp˜~¢®ÿuÊLÐA+€êMÐA+`u¢®ÿ0t¢®ÿkàLÐA+GHIJKMNOP
 ~¢®ÿ~¢®ÿH ÑA+w¢®ÿ’ÂLÐA+†àLÐA+ 
~¢®ÿ0ÍÑA+uÊLÐA+ iÑA+ IýÐA+€ÍÑA+؄ÍÑA+¨‰ÍÑA+€êMÐA+H
 ÑA+w¢®ÿ@u¢®ÿkàLÐA+8 
ÑA+w¢®ÿpu¢®ÿkàLÐA+( 
ÑA+w¢®ÿ u¢®ÿkàLÐA+ 
ÑA+w¢®ÿÐu¢®ÿkàLÐA+ 
¨ŽÍÑA+uÊLÐA+¨‰ÍÑA+Pp¢®ÿŠ˜ýÐA+eÉLÐA+؄ÍÑA+pv¢®ÿy˜ýÐA+eÉLÐA+€ÍÑA+ v¢®ÿZ˜ýÐA+eÉLÐA+ØDýÐA+ iÑA+ IýÐA+€ÍÑA+ؤiÑA+؄ÍÑA+¨‰ÍÑA+€êMÐA+8ëmÐA+
ÉÐA+~¢®ÿpÛüÐA+Px¢®ÿ 
w¢®ÿkàLÐA+5678:<=>?@BD 
~¢®ÿ~¢®ÿà
ÆÐA+~¢®ÿuÊLÐA+åmÐA+Ðv¢®ÿ
ÉÐA+eÉLÐA+åmÐA+Õ_@fÆS Qöl±íÁ#•ÐA+~¢®ÿà
ÆÐA+`y¢®ÿ0x¢®ÿkàLÐA+u]ÞÓ      
4Q ÷U^Qʉ§¶uª¹ñìò*ēv 
~¢®ÿ~¢®ÿH^’ÐA+¤ÎÐA+Т®ÿ¦°0ÒA+¦°0ÒA+öËÐA+_~¢®ÿ¢®ÿH~¢®ÿ°z¢®ÿ¯iÑA+uÊLÐA+ؤiÑA+¢®ÿ¢°0ÒA+ࢮÿp{¢®ÿÿÿÿÿÿÿÿÿ¢°0ÒA+˜~¢®ÿ(translation(30008)))
+        keyboard.doModal()
+        if keyboard.isConfirmed() and keyboard.getText():
+          search_string = keyboard.getText().replace(" ","+")
+          content = 
getUrl("http://www.filmstarts.de/suche/1/?q="+search_string)
+          spl=content.split('<tr><td style=" vertical-align:middle;">')
+          for i in range(1,len(spl),1):
+            entry=spl[i]
+            match=re.compile("src='(.+?)'", re.DOTALL).findall(entry)
+            thumb=match[0]
+            match=re.compile("'>\n(.+?)</a>", re.DOTALL).findall(entry)
+            title=match[0].replace("<b>","").replace("</b>","")
+            title=cleanTitle(title)
+            match=re.compile("href='(.+?)'", re.DOTALL).findall(entry)
+            
url="http://www.filmstarts.de"+match[0].replace(".html","/trailers/")
+            addDir(title,url,'listTrailers',thumb)
+          xbmcplugin.endOfDirectory(pluginhandle)
+          if forceViewMode==True:
+            xbmc.executebuiltin('Container.SetViewMode('+viewMode+')')
 
 def playVideo(url):
         content = getUrl(url)
@@ -105,7 +174,11 @@ def playVideo(url):
 def getUrl(url):
         req = urllib2.Request(url)
         req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; rv:11.0) 
Gecko/20100101 Firefox/11.0')
-        response = urllib2.urlopen(req)
+        if xbox==True:
+          socket.setdefaulttimeout(30)
+          response = urllib2.urlopen(req)
+        else:
+          response = urllib2.urlopen(req,timeout=30)
         link=response.read()
         response.close()
         return link
@@ -148,7 +221,11 @@ if mode=="playVideo":
     playVideo(url)
 elif mode=="showSortDirection":
     showSortDirection(url)
+elif mode=="listTrailers":
+    listTrailers(url)
 elif mode=="listVideosMagazin" or mode=="listVideosInterview" or 
mode=="listVideosTV" or mode=="listVideosTrailer":
     listVideos(url)
+elif mode=="search":
+    search()
 else:
     index()
\ No newline at end of file
diff --git a/plugin.video.filmstarts_de/resources/language/English/strings.xml 
b/plugin.video.filmstarts_de/resources/language/English/strings.xml
index ac01798..49617fa 100644
--- a/plugin.video.filmstarts_de/resources/language/English/strings.xml
+++ b/plugin.video.filmstarts_de/resources/language/English/strings.xml
@@ -7,4 +7,10 @@
   <string id="30005">by title</string>
   <string id="30006">by adding date</string>
   <string id="30007">Next Page</string>
+  <string id="30008">Search</string>
+  <string id="30009">German</string>
+  <string id="30010">Original</string>
+  <string id="30101">Force ViewMode</string>
+  <string id="30102">ViewMode</string>
+  <string id="30103">Show all trailers</string>
 </strings>
diff --git a/plugin.video.filmstarts_de/resources/language/German/strings.xml 
b/plugin.video.filmstarts_de/resources/language/German/strings.xml
index 15e7e73..b96f7cb 100644
--- a/plugin.video.filmstarts_de/resources/language/German/strings.xml
+++ b/plugin.video.filmstarts_de/resources/language/German/strings.xml
@@ -7,4 +7,8 @@
   <string id="30005">nach Filmtitel</string>
   <string id="30006">hinzugefügt am</string>
   <string id="30007">Nächste Seite</string>
+  <string id="30008">Suche</string>
+  <string id="30009">Deutsch</string>
+  <string id="30101">ViewMode erzwingen</string>
+  <string id="30103">Alle Trailer anzeigen</string>
 </strings>

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

commit add7ca2f02762f11ecfe2c5c579e6f8931e935d1
Author: spiff <[email protected]>
Date:   Wed Jul 11 21:43:36 2012 +0200

    [plugin.video.nos] updated to version 2.1.0

diff --git a/plugin.video.nos/addon.xml b/plugin.video.nos/addon.xml
index 75bc268..ef9a707 100644
--- a/plugin.video.nos/addon.xml
+++ b/plugin.video.nos/addon.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <addon id="plugin.video.nos"
        name="NOS"
-       version="2.0.0"
+       version="2.1.0"
        provider-name="ErwinJunge">
   <requires>
     <import addon="xbmc.python" version="2.0"/>
@@ -13,6 +13,7 @@
     <provides>video</provides>
   </extension>
   <extension point="xbmc.addon.metadata">
+    <language>nl</language>
     <summary lang="en">Watch videos from NOS (Dutch news service)</summary>
     <summary lang="nl">Bekijk videos van de NOS</summary>
     <description lang="en">Watch videos from various NOS sites. For feature 
requests and bug reports: [email protected]</description>
diff --git a/plugin.video.nos/changelog.txt b/plugin.video.nos/changelog.txt
index c742a9b..a697025 100644
--- a/plugin.video.nos/changelog.txt
+++ b/plugin.video.nos/changelog.txt
@@ -1,2 +1,9 @@
 [B]1.0.0:[/B]
 Initial version
+
+[B]2.0.0:[/B]
+Version bump for Eden
+
+[B]2.1.0:[/B]
+Fix laatste journaals
+Disable broken rss feeds
diff --git a/plugin.video.nos/default.py b/plugin.video.nos/default.py
index 675bc11..b9c6063 100644
--- a/plugin.video.nos/default.py
+++ b/plugin.video.nos/default.py
@@ -54,11 +54,11 @@ if 'module' in params: # Module chosen, load and execute 
module
   current_module.run(params)
 else: # No module chosen, list modules
   addDir('Laatste Journaals', 'laatste_journaals')
-  addDir('Journaal Video\'s', 'journaal_videos')
+  #addDir('Journaal Video\'s', 'journaal_videos') #Disabled for now, broken
   addDir('Jeugdjournaal', 'jeugdjournaal')
   addDir('Journaal op 3', 'journaal_op_3')
-  addDir('Nieuws in 60 seconden', 'nieuws_in_60_seconden')
-  addDir('Schaatsen Video\'s', 'schaatsen_videos')
-  addDir('Studio Sport Video\'s', 'studio_sport_videos')
+  #addDir('Nieuws in 60 seconden', 'nieuws_in_60_seconden') #Disabled for now, 
broken
+  #addDir('Schaatsen Video\'s', 'schaatsen_videos') #Disabled for now, broken
+  #addDir('Studio Sport Video\'s', 'studio_sport_videos') #Disabled for now, 
broken
   # Add extra modules here, using addDir(name, module)
   xbmcplugin.endOfDirectory(int(sys.argv[1]))
diff --git a/plugin.video.nos/modules/laatste_journaals.py 
b/plugin.video.nos/modules/laatste_journaals.py
index f2a8d50..18b22c2 100644
--- a/plugin.video.nos/modules/laatste_journaals.py
+++ b/plugin.video.nos/modules/laatste_journaals.py
@@ -1,5 +1,5 @@
 #/*
-# *      Copyright (C) 2011 Erwin Junge
+# *      Copyright (C) 2012 Erwin Junge
 # *
 # *
 # *  This Program is free software; you can redistribute it and/or modify
@@ -21,57 +21,31 @@
 
 import xbmcplugin
 import xbmcgui
-import urllib
 import urllib2
 import re
-from BeautifulSoup import BeautifulSoup, SoupStrainer
 import sys
 
+link_re = re.compile(r'<a.*?</a>', re.S)
+video_re = re.compile(r'http://.*\.mp4')
+title_re = re.compile(r'<h3>(.*?)</h3>')
+meta_re = re.compile(r'<p class="video-meta">(.*?)</p>')
+img_re = re.compile(r'<img src="(.*?)"')
+
 def addLink(title, url, thumb):
   liz=xbmcgui.ListItem(title, thumbnailImage=thumb)
-  liz.setProperty("IsPlayable","true")
   xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url=url, listitem=liz, 
isFolder=False)
 
-def stringfilter(s):
-  return isinstance(s, basestring)
-
 def scan(params):
-  module = params['module']
-
   URL='http://tv.nos.nl'
-  links = SoupStrainer('a')
-  for tag in BeautifulSoup(urllib2.urlopen(URL).read(), parseOnlyThese=links):
-    # Get url
-    url_suffix = tag['href']
-    url = URL+"/browser/"+url_suffix
-    url = urllib.quote_plus(url)
-    url = sys.argv[0]+"?module="+module+"&url="+url
-    # Get thumbnail image
-    thumb_suffix = tag.div.img['src']
-    thumb = URL+"/browser/"+thumb_suffix
-    # Get title
-    title = tag.div.h3.contents[0]
-    meta = ', '.join([substring.strip('\n ') for substring in 
filter(stringfilter, tag.div.p.contents)])
+  html=urllib2.urlopen(URL).read()
+  for (a, video_url) in zip(link_re.findall(html), video_re.findall(html)):
+    a = a.replace('\n', '')
+    title = title_re.search(a).group(1).strip()
+    meta = ', '.join([meta_part.strip() for meta_part in re.sub(r'\s+', ' ', 
meta_re.search(a).group(1)).split('<br />')])
+    img = URL + '/browser/' + img_re.search(a).group(1).strip()
     title = title + ' - ' + meta
-    addLink(title, url, thumb)
+    addLink(title, video_url, img)
   xbmcplugin.endOfDirectory(int(sys.argv[1]))
 
-def find_video(url):
-  page=urllib2.urlopen(url).read()
-  xml=re.search(r'http://content.nos.nl/.*?\.xml',page).group(0)
-  xml=urllib2.urlopen(xml).read()
-  video_link=re.search(r'http://.*?\.(flv|mp4)',xml).group(0)
-  return video_link
-
-def play(url):
-  url = urllib.unquote_plus(url)
-  resolved_url = find_video(url)
-  li=xbmcgui.ListItem(path = resolved_url)
-  xbmcplugin.setResolvedUrl(int(sys.argv[1]), True, li)
-
 def run(params): # This is the entrypoint
-  if 'url' in params: # url set, so play the url
-    url = params['url']
-    play(url)
-  else: # no url set, scan for urls
-    scan(params)
+  scan(params)

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

Summary of changes:
 plugin.video.filmstarts_de/addon.xml               |   10 +-
 plugin.video.filmstarts_de/changelog.txt           |    7 +-
 plugin.video.filmstarts_de/default.py              |   87 +++++++++-
 .../resources/language/English/strings.xml         |    6 +
 .../resources/language/German/strings.xml          |    4 +
 .../resources/settings.xml                         |    1 +
 plugin.video.mpora_com/addon.xml                   |    2 +-
 plugin.video.mpora_com/changelog.txt               |    7 +-
 plugin.video.mpora_com/default.py                  |   42 ++++-
 .../resources/language/English/strings.xml         |    1 +
 .../resources/language/German/strings.xml          |    1 +
 plugin.video.nos/addon.xml                         |    3 +-
 plugin.video.nos/changelog.txt                     |    7 +
 plugin.video.nos/default.py                        |    8 +-
 plugin.video.nos/modules/laatste_journaals.py      |   56 ++-----
 .../LICENSE.txt                                    |    0
 .../addon.xml                                      |   11 +-
 plugin.video.southpark_de/changelog.txt            |    2 +
 plugin.video.southpark_de/default.py               |  176 ++++++++++++++++++++
 plugin.video.southpark_de/icon.png                 |  Bin 0 -> 52118 bytes
 .../resources/language/English/strings.xml         |   10 +
 .../resources/language/German/strings.xml          |    9 +
 .../resources/settings.xml                         |    1 +
 23 files changed, 377 insertions(+), 74 deletions(-)
 copy {plugin.video.ebaumsworld_com => 
plugin.video.filmstarts_de}/resources/settings.xml (68%)
 copy {plugin.audio.einslive_de => plugin.video.southpark_de}/LICENSE.txt (100%)
 copy {plugin.video.redbull_tv => plugin.video.southpark_de}/addon.xml (52%)
 create mode 100644 plugin.video.southpark_de/changelog.txt
 create mode 100644 plugin.video.southpark_de/default.py
 create mode 100644 plugin.video.southpark_de/icon.png
 create mode 100644 
plugin.video.southpark_de/resources/language/English/strings.xml
 create mode 100644 
plugin.video.southpark_de/resources/language/German/strings.xml
 copy {plugin.video.gronkh_de => 
plugin.video.southpark_de}/resources/settings.xml (67%)


hooks/post-receive
-- 
Plugins

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons

Reply via email to