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="(.+?).x?p=1"').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]+'×tamp='+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('&','&')
+ url = url.replace('&','&')
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