The branch, frodo has been updated
       via  f2f7f780bb262fecc669e8dfc77a8cf2081fcd78 (commit)
       via  804b8c0ee673d30b97a96f0c52a52bbff96fd023 (commit)
       via  99ada3425b04c25c8431f71922432a763985575c (commit)
      from  76c2a0d353dde365f2707e563240c6a3e7bc55a5 (commit)

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

commit f2f7f780bb262fecc669e8dfc77a8cf2081fcd78
Author: Martijn Kaijser <[email protected]>
Date:   Sat Aug 16 09:54:18 2014 +0200

    [plugin.video.oodnurdtv] 0.0.7

diff --git a/plugin.video.oodnurdtv/addon.xml b/plugin.video.oodnurdtv/addon.xml
index 335e687..c3d93fe 100644
--- a/plugin.video.oodnurdtv/addon.xml
+++ b/plugin.video.oodnurdtv/addon.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<addon id="plugin.video.oodnurdtv" name="drundootv" version="0.0.6" 
provider-name="pesheto">
+<addon id="plugin.video.oodnurdtv" name="drundootv" version="0.0.7" 
provider-name="pesheto">
   <requires>
     <import addon="xbmc.python" version="2.1.0"/>
     <import addon="script.module.xbmcswift2" version="2.4.0"/>
diff --git a/plugin.video.oodnurdtv/resources/drundoo.py 
b/plugin.video.oodnurdtv/resources/drundoo.py
index 41d5fbb..34265f4 100644
--- a/plugin.video.oodnurdtv/resources/drundoo.py
+++ b/plugin.video.oodnurdtv/resources/drundoo.py
@@ -1,6 +1,13 @@
 #drundoo class for handling web site
 
-from requests2 import session
+try:
+    import requests2 as requests
+except ImportError:
+    import requests
+session = requests.session
+
+#from requests2 import session
+
 import bs4
 
 URL = 'http://www.drundoo.com/users/login/'
@@ -57,15 +64,20 @@ class drundoo:
                 play_list = []
                 temp = self.open_site(link)
 
-                start1 = temp.find('url: "') + 'url: "'.__len__()
-                end1 = temp.find('",\n\t\t\tdataType:')
+                if temp.find('"playlistUrl": "') > -1:
+                    start1 = temp.find('"playlistUrl": "') + '"playlistUrl": 
"'.__len__()
+                    end1 = temp.find('","showVideoInfoOverlayOnStartUp":')
 
+                else:
+                    start1 = temp.find('url: "') + 'url: "'.__len__()
+                    end1 = temp.find('",\n\t\t\tdataType:')
+                
                 link = 'http://www.drundoo.com' + temp[start1:end1]
 
                 temp = self.open_site(link)
                 start1 = temp.find('smil_url":"') + 'smil_url":"'.__len__()
-                end1 = temp.find('.f4m')
-                play_link = 
temp[start1:end1].replace('\\','').replace('manifest','master.m3u8')
+                end1 = temp.find('","title"')
+                play_link = 
temp[start1:end1].replace('\\','').replace('manifest.f4m','master.m3u8')
                 play_list.append(play_link)
 
                 return play_list[0]

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

commit 804b8c0ee673d30b97a96f0c52a52bbff96fd023
Author: Martijn Kaijser <[email protected]>
Date:   Sat Aug 16 09:51:59 2014 +0200

    [plugin.video.richplanet] 0.1.5

diff --git a/plugin.video.richplanet/addon.xml 
b/plugin.video.richplanet/addon.xml
index fda5119..3ff8231 100644
--- a/plugin.video.richplanet/addon.xml
+++ b/plugin.video.richplanet/addon.xml
@@ -3,7 +3,7 @@
   id="plugin.video.richplanet"
   name="Richplanet TV" 
   provider-name="celadoor" 
-  version="0.1.4">
+  version="0.1.5">
   <requires>
     <import  addon="xbmc.python"                      version="2.1.0" />
     <import  addon="script.common.plugin.cache"       version="1.5.1" />
diff --git a/plugin.video.richplanet/changelog.txt 
b/plugin.video.richplanet/changelog.txt
index 5918ce4..e110af8 100644
--- a/plugin.video.richplanet/changelog.txt
+++ b/plugin.video.richplanet/changelog.txt
@@ -1,4 +1,6 @@
 Richplanet Tv Video Plugin created by celadoor.
+Version 0.1.5 -Fixed broken video urls and removed redundant code.
+
 Version 0.1.4 -Fixed missing thumbnail on Latest Shows.
 
 Version 0.1.3 -Restore missing setting file, remove redundant code
diff --git a/plugin.video.richplanet/default.py 
b/plugin.video.richplanet/default.py
index b661d8f..6bf458f 100644
--- a/plugin.video.richplanet/default.py
+++ b/plugin.video.richplanet/default.py
@@ -66,19 +66,19 @@ def VIDEOLINKS(url,name):
         response.close()
         match=re.compile('iframe 
src=&quot;(.+?).x?p=1&quot;').findall(link)#newer type videos
 
-        req = urllib2.Request(url)
-        req.add_header('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; 
en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3')
-        response = urllib2.urlopen(req)
-        link=response.read()
-        response.close()
-        match=re.compile('swf#file=(.+?)&autostart').findall(link)#older type 
videos
+        #req = urllib2.Request(url)
+        #req.add_header('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 
5.1; en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3')
+        #response = urllib2.urlopen(req)
+        #link=response.read()
+        #response.close()
+        #match=re.compile('swf#file=(.+?)&autostart').findall(link)#older type 
videos
 
         req = urllib2.Request(match[0])
         req.add_header('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; 
en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3')
         response = urllib2.urlopen(req)
         link=response.read()
         response.close()
-        match=re.compile('content url="(.+?)" blip').findall(link)
+        match=re.compile('blipsd="(.+?)"').findall(link)
         for url in match:
                 
addLink(name,url,'http://a.i.blip.tv/g?src=Richplanet-website_banner610.png&w=220&h=150&fmt=jpg',longdescription)
 
diff --git a/plugin.video.richplanet/resources/language/English/strings.xml 
b/plugin.video.richplanet/resources/language/English/strings.xml
index 84ecd72..38c524d 100644
--- a/plugin.video.richplanet/resources/language/English/strings.xml
+++ b/plugin.video.richplanet/resources/language/English/strings.xml
@@ -11,9 +11,4 @@
 <string id="30019">Please support the video content provider![CR][CR]</string>
 <string id="30020">[B]http://www.richplanet.net/sponsor.php[/B]</string>
 <string id="30021">Search..</string>
-<!-- Settings start at 30500 -->
-<string id="30501">Video quality</string>
-<string id="30502">Low definition</string>
-<string id="30503">Standard definition</string>
-<string id="30504">High definition</string>
 </strings>

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

commit 99ada3425b04c25c8431f71922432a763985575c
Author: Martijn Kaijser <[email protected]>
Date:   Sat Aug 16 09:49:37 2014 +0200

    [plugin.video.s04tv] 3.0.1

diff --git a/plugin.video.s04tv/addon.xml b/plugin.video.s04tv/addon.xml
index 1c5f846..3a08829 100644
--- a/plugin.video.s04tv/addon.xml
+++ b/plugin.video.s04tv/addon.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<addon id="plugin.video.s04tv" name="S04tv" version="3.0.0" 
provider-name="malte">
+<addon id="plugin.video.s04tv" name="S04tv" version="3.0.1" 
provider-name="malte">
     <requires>
         <import addon="xbmc.python" version="2.1.0"/>
         <import addon="script.module.mechanize" version="0.2.5"/>
diff --git a/plugin.video.s04tv/changelog.txt b/plugin.video.s04tv/changelog.txt
index 18a7423..8765d92 100644
--- a/plugin.video.s04tv/changelog.txt
+++ b/plugin.video.s04tv/changelog.txt
@@ -1,3 +1,7 @@
+3.0.1 (2014/08)
+- update due to website changes
+- paging support
+
 3.0.0 (2013/08)
 - update due to website changes
 - list videos in categories
diff --git a/plugin.video.s04tv/default.py b/plugin.video.s04tv/default.py
index 7190418..3731e20 100644
--- a/plugin.video.s04tv/default.py
+++ b/plugin.video.s04tv/default.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2013 Malte Loepmann ([email protected])
+# Copyright (C) 2014 Malte Loepmann ([email protected])
 #
 # This program is free software; you can redistribute it and/or modify it 
under the terms 
 # of the GNU General Public License as published by the Free Software 
Foundation; 
@@ -33,15 +33,36 @@ sys.path.append( os.path.join( BASE_RESOURCE_PATH, "lib", 
"BeautifulSoup" ) )
 
 from BeautifulSoup import BeautifulSoup
 from BeautifulSoup import Tag
-
+import mechanize
 
 __language__ = __addon__.getLocalizedString
 thisPlugin = int(sys.argv[1])
+browser = mechanize.Browser()
 
 missingelementtext = "Missing element '%s'. Maybe the site structure has 
changed."
 
+
+videoquality = __addon__.getSetting('videoquality')
+if videoquality == 'low':
+    max_res = 480
+elif videoquality == 'mid':
+    max_res = 640
+elif videoquality == 'high':
+    max_res = 960
+elif videoquality == 'hd':
+    max_res = 1280
+
+
 def buildHomeDir(url, doc):
     xbmc.log('buildHomeDir')
+    path = xbmc.translatePath('special://profile/addon_data/%s' %(PLUGINID))
+
+    if not os.path.exists(path):
+        try:
+            os.makedirs(path)
+        except:
+                path = ''
+    
     soup = BeautifulSoup(''.join(doc))
     
     nav = soup.find('nav')
@@ -60,7 +81,7 @@ def buildHomeDir(url, doc):
                             xbmc.log(missingelementtext%'a')
                             continue
                         url = BASE_URL + a['href']
-                        addDir(a.text, url, 2, '', '')
+                        addDir(a.text, url, 2, '')
             break
         
 
@@ -89,7 +110,7 @@ def buildSubDir(url, doc):
                     xbmc.log(missingelementtext%'a')
                     continue
                 url = BASE_URL + a['href']
-                addDir(a.text, url, 3, '', '')
+                addDir(a.text, url, 3, '')
         
         
 def buildSubSubDir(url, doc):
@@ -127,16 +148,16 @@ def buildSubSubDir(url, doc):
                     xbmc.log(missingelementtext%'a')
                     continue
                 url = BASE_URL + a['href']
-                addDir(a.text, url, 3, '', '')
+                addDir(a.text, url, 3, '')
 
 
 def buildVideoDir(url, doc):
-    xbmc.log('buildVideoDir')
+    xbmc.log('buildVideoDir')    
     
     #allow sorting of video titles
-    xbmcplugin.addSortMethod(int(sys.argv[1]), 
xbmcplugin.SORT_METHOD_UNSORTED)    
-    xbmcplugin.addSortMethod(int(sys.argv[1]), xbmcplugin.SORT_METHOD_DATE)
-    xbmcplugin.addSortMethod(int(sys.argv[1]), xbmcplugin.SORT_METHOD_TITLE)
+    xbmcplugin.addSortMethod(thisPlugin, xbmcplugin.SORT_METHOD_UNSORTED)    
+    xbmcplugin.addSortMethod(thisPlugin, xbmcplugin.SORT_METHOD_DATE)
+    xbmcplugin.addSortMethod(thisPlugin, xbmcplugin.SORT_METHOD_TITLE)
     
     hideexclusive = __addon__.getSetting('hideexclusivevideos').upper() == 
'TRUE'
     hideflag = __addon__.getSetting('hidefreeexclflag').upper() == 'TRUE'
@@ -148,8 +169,18 @@ def buildVideoDir(url, doc):
         xbmc.log(missingelementtext%'article')
         return
     
+    origUrl = url
+    
     for article in articles:
                 
+        #HACK: ignore related videos
+        try:
+            id = article['id']
+            if(id and id.startswith('rel_vid')):
+                continue
+        except:
+            pass
+                
         div = article.find('div')
         if(not div):
             xbmc.log(missingelementtext%'div')
@@ -157,12 +188,14 @@ def buildVideoDir(url, doc):
         
         flag = div['class']
         
-        #for some reason findNextSibling does not work here
-        p = div.findAllNext('p', limit=1)
-        if(not p):
-            xbmc.log(missingelementtext%'p')
-            continue
-        date = p[0].text
+        #for some reason findNextSibling does not work here and contents is 
not set properly
+        date = ''
+        if(origUrl.find('home') < 0):
+            p = div.findAllNext('p', limit=1)
+            if(not p):
+                xbmc.log(missingelementtext%'p')
+            else:
+                date = p[0].text
                 
         img = div.findAllNext('img', limit=1)
         if(not img):
@@ -190,6 +223,7 @@ def buildVideoDir(url, doc):
         if(not span):
             xbmc.log(missingelementtext%'span')
             continue
+        
         title = ''
         for text in span.contents:
             if(type(text) != Tag):
@@ -197,7 +231,12 @@ def buildVideoDir(url, doc):
                     title = title +': '
                 title = title +text
                 
-        if(not hidedate):
+        #only required for homescreen
+        span2 = span.nextSibling
+        if(span2):
+            title = title +': ' +span2.text
+                
+        if(not hidedate and date != ''):
             title = title + ' (%s)'%date
                 
         extraInfo = {}
@@ -214,122 +253,131 @@ def buildVideoDir(url, doc):
             extraInfo['IsFreeContent'] = 'False'
                 
         url = BASE_URL + url
-        addDir(title, url, 4, imageUrl, date, extraInfo)
+        addLink(title, url, 4, imageUrl, date, extraInfo)
+    
+    #paging
+    pageid = 0
+    page = 0
+    match_page = 
re.compile('http://www.s04.tv/cache/TV/pages/videoverteil_(.+)_(.+).htm', 
re.DOTALL).findall(origUrl)
+    if(match_page):
+        pageid = match_page[0][0]
+        page = (int)(match_page[0][1])
+        addDir(__language__(30003), 
'http://www.s04.tv/cache/TV/pages/videoverteil_%s_%s.html'%(pageid, page + 1), 
3, '')
+    else:
+        paging = soup.find('ul', attrs={'class': 'paging'})
+        if(paging):
+            a = paging.find('a')
+            onclick = a['onclick']
+            match_page = re.compile('changeVideoPage\(0,(.+)\)', 
re.DOTALL).findall(onclick)
+            pageid = (int)(match_page[0])
+            addDir(__language__(30003), 
'http://www.s04.tv/cache/TV/pages/videoverteil_%s_%s.html'%(pageid, 2), 3, '')
+        
 
 
 def getVideoUrl(url, doc):
     xbmc.log('getVideoUrl')
     
-    #check if we are allowed to watch this video
+    #check if we need to login
     isFreeContent = xbmc.getInfoLabel( "ListItem.Property(IsFreeContent)" ) == 
'True'
     if(not isFreeContent):
         success = login()
         if(not success):
             return
     
-    soup = BeautifulSoup(''.join(doc))
-    
-    #title
-    p = soup.find('p', attrs={'class': 'breadcrumbs'})
-    if(not p):
-        xbmc.log(missingelementtext%'p')
-        return
-    a = p.find('a')
-    if(not a):
-        xbmc.log(missingelementtext%'a')
+    soup = BeautifulSoup(''.join(doc))   
+    iframe = soup.find('iframe', attrs={'class': 'videoframe'})
+    if(not iframe):
+        xbmc.log(missingelementtext%'iframe')
         return
-    title = a['title']
-    if(title == ''):
-        title = __language__(30005)
     
-    #grab url
-    div = soup.find('div', attrs={'class': 'videobox'})
-    if(not div):
-        xbmc.log(missingelementtext%'div')
-        return
-    script = div.find('script', attrs={'type': 'text/javascript'})
-    if(not script):
-        xbmc.log(missingelementtext%'script')
-        return
-    scripttext = script.next
-    indexbegin = scripttext.find("videoid: '")
-    indexbegin = indexbegin + len("videoid: '")
-    indexend = scripttext.find("'", indexbegin)
-    xmlurl = ''
-    if(indexbegin >= 0 and indexend > indexbegin):
-        xmlurl = scripttext[indexbegin:indexend]
-    else:
-        xbmc.log('Could not find videoid in script')
-        return
+    playerUrl = iframe['src']
+        
+    response=getUrl(playerUrl)
     
-    #load xml file
-    xmlstring = getUrl(BASE_URL +xmlurl)
-    root = ET.fromstring(xmlstring)
+    match_streamid=re.compile('streamid="(.+?)"', re.DOTALL).findall(response)
+    streamid = match_streamid[0]
     
-    urlElement = root.find('invoke/url')
-    if(urlElement == None):
-        print 'urlElement: ' +str(urlElement)
-        xbmc.log(missingelementtext%'invoke/url')
-        return
+    match_partnerid=re.compile('partnerid="(.+?)"', 
re.DOTALL).findall(response)
+    partnerid = match_partnerid[0]
+
+    match_portalid=re.compile('portalid="(.+?)"', re.DOTALL).findall(response)
+    portalid = match_portalid[0]
+
+    match_sprache=re.compile('sprache="(.+?)"', re.DOTALL).findall(response)
+    sprache = match_sprache[0]
+
+    match_auth=re.compile('auth="(.+?)"', re.DOTALL).findall(response)
+    auth = match_auth[0]
+
+    match_timestamp=re.compile('timestamp="(.+?)"', 
re.DOTALL).findall(response)
+    timestamp = match_timestamp[0]
+
+    wsUrl = 
'http://www.s04.tv/webservice/video_xml.php?play='+streamid+'&partner='+partnerid+'&portal='+portalid+'&v5ident=&lang='+sprache
+    response=getUrl(wsUrl)
     
-    xmlstring = getUrl(urlElement.text)
-    root = ET.fromstring(xmlstring)
-    metas = root.findall('head/meta')
-    if(metas == None):
-        xbmc.log(missingelementtext%'head/meta')
-        return
-    vid_base_url = ''
-    for meta in metas:
-        if( meta.attrib.get('name') == 'httpBase'):
-            vid_base_url = meta.attrib.get('content')
-            break
+    match_url=re.compile('<url>(.+?)<', re.DOTALL).findall(response)
     
-    quality = __addon__.getSetting('videoquality')
-    quality = '_%s.mp4'%quality
-    videos = root.findall('body/switch/video')
-    if(videos == None):
-        xbmc.log(missingelementtext%'body/switch/video')
-        return
-    for video in videos:
-        src = video.attrib.get('src')
-        if(src.find(quality) > 0):
-            break
+    response=getUrl(match_url[0]+'&timestamp='+timestamp+'&auth='+auth)
+    
+    match_new_auth=re.compile('auth="(.+?)"', re.DOTALL).findall(response)
+    match_new_url=re.compile('url="(.+?)"', re.DOTALL).findall(response)
+
+    m3u8_url = 
match_new_url[0].replace('/z/','/i/').replace('manifest.f4m','master.m3u8')+'?hdnea='+match_new_auth[0]+'&g='+char_gen(12)+'&hdcore=3.2.0'
+    response=getUrl(m3u8_url)
+    match_sec_m3u8=re.compile('http(.+?)null=', re.DOTALL).findall(response)
     
-    v = '2.11.3'
-    fp = 'WIN%2011,8,800,97'
-    r = num_gen(5, string.ascii_uppercase)
-    g = num_gen(12, string.ascii_uppercase)
-    videourl = vid_base_url +src +'&v=%s&fp=%s&r=%s&g=%s'%(v,fp,r,g)
-    addLink(title, videourl, '')
+    lines = response.split('\n')
+    choose_url = False    
+    stored_res = 0
+    
+    xbmc.log('max_res = ' +str(max_res))
+    for line in lines:
+        if '#EXT-X-STREAM-INF' in line:
+            match_res=re.compile('RESOLUTION=(.+?)x', re.DOTALL).findall(line)
+            if(match_res):
+                res = (int)(match_res[0])
+                xbmc.log('res = ' +str(res))
+            if res > stored_res and res <= max_res:
+                choose_url = True
+                stored_res = res
+                xbmc.log('new res = ' +str(stored_res))
+        elif choose_url == True:
+            sec_m3u8 = line
+            choose_url = False
+    
+    listitem = xbmcgui.ListItem(path=sec_m3u8)
+    return xbmcplugin.setResolvedUrl(thisPlugin, True, listitem)
 
 
-def addDir(name, url, mode, iconimage, date, extraInfo = {}):
+def addDir(name, url, mode, iconimage):
     parameters = {'url' : url.encode('utf-8'), 'mode' : str(mode), 'name' : 
name.encode('utf-8')}
     u = sys.argv[0] +'?' +urllib.urlencode(parameters)
-    #xbmc.log('addDir url = ' +str(u))
     ok = True
-    liz = xbmcgui.ListItem(name, iconImage="DefaultFolder.png", 
thumbnailImage=iconimage)
-    if(date != ''):
-        liz.setInfo(type="Video", infoLabels={"Title": name, "Date": date})
-    else:
-        liz.setInfo(type="Video", infoLabels={"Title": name})
-    for key in extraInfo.keys():
-        liz.setProperty(key, extraInfo[key])
-    ok = xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url=u, 
listitem=liz, isFolder=True)
+    listitem = xbmcgui.ListItem(name, iconImage="DefaultFolder.png", 
thumbnailImage=iconimage)
+    listitem.setInfo(type="Video", infoLabels={"Title": name})
+    ok = xbmcplugin.addDirectoryItem(thisPlugin, u, listitem, isFolder=True)
     return ok
    
 
-def addLink(name,url,iconimage):
-    #xbmc.log('addLink url = ' +str(url))
+def addLink(name, url, mode, iconimage, date, extraInfo = {}):
+    parameters = {'url' : url.encode('utf-8'), 'mode' : str(mode), 'name' : 
name.encode('utf-8')}
+    u = sys.argv[0] +'?' +urllib.urlencode(parameters)
     ok = True
-    liz = xbmcgui.ListItem(name, iconImage="DefaultVideo.png", 
thumbnailImage=iconimage)
-    liz.setInfo(type="Video", infoLabels={ "Title": name})
-    ok = xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url=url, 
listitem=liz)
+    listitem = xbmcgui.ListItem(name, iconImage="DefaultVideo.png", 
thumbnailImage=iconimage)
+    if(date != ''):
+        listitem.setInfo(type="Video", infoLabels={"Title": name, "Date": 
date})
+    else:
+        listitem.setInfo(type="Video", infoLabels={"Title": name})
+    listitem.setProperty('IsPlayable', 'true')
+    for key in extraInfo.keys():
+        listitem.setProperty(key, extraInfo[key])
+    ok = xbmcplugin.addDirectoryItem(thisPlugin, u, listitem)
     
     return ok
 
 
 def login():
+    
     username = __addon__.getSetting('username')
     xbmc.log('Logging in with username "%s"' %username)
     password = __addon__.getSetting('password')
@@ -340,7 +388,10 @@ def login():
         
     loginparams = {'username_field' : username, 'password_field' : password}
     loginurl = 'https://ssl.s04.tv/get_content.php?lang=TV&form=login&%s' 
%urllib.urlencode(loginparams)
-    loginresponse = getUrl(loginurl)
+    
+    
+    browser.open(loginurl)
+    loginresponse = browser.response().read()
     xbmc.log('login response: ' +loginresponse)
     
     #loginresponse should look like this: 
({"StatusCode":"1","stat":"OK","UserData":{"SessionID":"...","Firstname":"...","Lastname":"...","Username":"lom","hasAbo":1,"AboExpiry":"31.07.14"},"out":"<form>...</form>"});
@@ -354,29 +405,36 @@ def login():
             return True
         else:
             xbmc.log('no valid abo')
-            xbmcgui.Dialog().ok(PLUGINNAME, __language__(30100) %username, 
__language__(30101))
+            xbmcgui.Dialog().ok(PLUGINNAME, __language__(30100) 
%username.decode('utf-8'), __language__(30101))
             return False
     else:
         xbmc.log('login failed')
-        xbmcgui.Dialog().ok(PLUGINNAME, __language__(30100) %username, 
__language__(30101))
+        xbmcgui.Dialog().ok(PLUGINNAME, __language__(30100) 
%username.decode('utf-8'), __language__(30101))
         return False
     
 
 def getUrl(url):
         url = url.replace('&amp;','&')
+        url = url.replace('&#38;','&')
         xbmc.log('Get url: '+url)
-        req = urllib2.Request(url)
-        req.add_header('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; 
en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3')
-        response = urllib2.urlopen(req)
-        link=response.read()
-        response.close()
-        return link
+        browser.set_handle_robots(False)
+        try:
+            browser.open(url)        
+            response = browser.response().read()
+        except Exception, (exc):
+            xbmc.log('Error while opening url: ' +str(exc))
+            return ''
+        return response
     
 
 def num_gen(size=1, chars=string.digits):
         return ''.join(random.choice(chars) for x in range(size))
 
 
+def char_gen(size=1, chars=string.ascii_uppercase):
+    return ''.join(random.choice(chars) for x in range(size))
+
+
 def runPlugin(url, doc):
     
     if mode==None or doc==None or len(doc)<1:
@@ -422,8 +480,6 @@ print "Name: "+str(name)
 if(url == None):
     url = BASE_URL
 
-
 doc = getUrl(url)
 runPlugin(url, doc)
-#sort video items
 xbmcplugin.endOfDirectory(thisPlugin)
diff --git a/plugin.video.s04tv/resources/settings.xml 
b/plugin.video.s04tv/resources/settings.xml
index a3c638b..b7e8490 100644
--- a/plugin.video.s04tv/resources/settings.xml
+++ b/plugin.video.s04tv/resources/settings.xml
@@ -6,6 +6,6 @@
                <setting id="hidefreeexclflag" type="bool" label="30006" 
default="false" />
                <setting id="hideexclusivevideos" type="bool" label="30007" 
default="false" />
                <setting id="hidedate" type="bool" label="30009" 
default="false" />
-               <setting id="videoquality" label="30008" type="labelenum" 
values="low400|low|high|hd" default="hd"/>
+               <setting id="videoquality" label="30008" type="labelenum" 
values="low|mid|high|hd" default="high"/>
        </category>
 </settings>
\ No newline at end of file

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

Summary of changes:
 plugin.video.oodnurdtv/addon.xml                   |    2 +-
 plugin.video.oodnurdtv/resources/drundoo.py        |   22 ++-
 plugin.video.richplanet/addon.xml                  |    2 +-
 plugin.video.richplanet/changelog.txt              |    2 +
 plugin.video.richplanet/default.py                 |   14 +-
 .../resources/language/English/strings.xml         |    5 -
 plugin.video.richplanet/resources/settings.xml     |    5 -
 plugin.video.s04tv/addon.xml                       |    2 +-
 plugin.video.s04tv/changelog.txt                   |    4 +
 plugin.video.s04tv/default.py                      |  278 ++++++++++++--------
 plugin.video.s04tv/resources/settings.xml          |    2 +-
 11 files changed, 201 insertions(+), 137 deletions(-)
 delete mode 100644 plugin.video.richplanet/resources/settings.xml


hooks/post-receive
-- 
Plugins

------------------------------------------------------------------------------
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons

Reply via email to