The branch, eden has been updated
via 8fafaca32d36af8cf5e7bbae2d1bbf99c8a95c17 (commit)
via 67f20e980e4ff83d3f50beae5fbeecf9e8bc976b (commit)
via 81572446ffb06577117a0a1bb2d316b29e846aef (commit)
via a8d8d2bcfc86958d27f4b18cb404e266f929bd54 (commit)
from 90b0658df943ab464c62280852bd40e587d5f818 (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=8fafaca32d36af8cf5e7bbae2d1bbf99c8a95c17
commit 8fafaca32d36af8cf5e7bbae2d1bbf99c8a95c17
Author: spiff <[email protected]>
Date: Mon Oct 1 09:07:46 2012 +0200
[plugin.video.manoto] updated to version 0.0.5
diff --git a/plugin.video.manoto/addon.xml b/plugin.video.manoto/addon.xml
index a245f6e..13ed162 100755
--- a/plugin.video.manoto/addon.xml
+++ b/plugin.video.manoto/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.manoto"
name="Manoto TV"
- version="0.0.4"
+ version="0.0.5"
provider-name="babak">
<requires>
<import addon="xbmc.python" version="2.0"/>
diff --git a/plugin.video.manoto/default.py b/plugin.video.manoto/default.py
index f77be77..35b41b4 100644
--- a/plugin.video.manoto/default.py
+++ b/plugin.video.manoto/default.py
@@ -69,6 +69,15 @@ def getStreamsFromPlayList(playlist):
def loginAndParse():
url = 'http://' + domain + '/live'
+
+ if not cj:
+ resp = opener.open(url)
+ html_data = resp.read()
+ parsedJS =
re.findall(r"setCookie\('(.*?)'\s*,\s*'(.*?)'\s*,\s*(.*?)\);", html_data)
+
+ if len(parsedJS) > 0:
+ ck = cookielib.Cookie(version=0, name=parsedJS[0][0],
value=parsedJS[0][1], port=None, port_specified=False, domain=domain,
domain_specified=False, domain_initial_dot=False, path='/',
path_specified=True, secure=False, expires=None, discard=True, comment=None,
comment_url=None, rest={'HttpOnly': None}, rfc2109=False)
+ cj.set_cookie(ck)
resp = opener.open(url)
html_data = resp.read()
@@ -77,6 +86,10 @@ def loginAndParse():
eventVal = soup.find('input',id='__EVENTVALIDATION',type='hidden')
viewState = soup.find('input',id='__VIEWSTATE',type='hidden')
+ if eventVal is None or viewState is None:
+ xbmcplugin.endOfDirectory(handle=int(sys.argv[1]))
+ return False
+
params =
'__EVENTARGUMENT=&__EVENTTARGET=ctl00%%24ContentPlaceHolderMainContent%%24lbtnEnter&__EVENTVALIDATION=%s&__VIEWSTATE=%s&ctl00%%24ContentPlaceHolderMainContent%%24txtUsername=%s&ctl00%%24ContentPlaceHolderMainContent%%24txtPassword=%s'
% (urllib.quote(eventVal['value']), urllib.quote(viewState['value']),
urllib.quote(__settings__.getSetting('username')),
urllib.quote(__settings__.getSetting('password')))
resp = opener.open('http://www.manoto1.com/LiveStream.aspx', params)
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=67f20e980e4ff83d3f50beae5fbeecf9e8bc976b
commit 67f20e980e4ff83d3f50beae5fbeecf9e8bc976b
Author: spiff <[email protected]>
Date: Mon Oct 1 09:06:27 2012 +0200
[plugin.video.revision3] updated to version 2.0.10
diff --git a/plugin.video.revision3/addon.xml b/plugin.video.revision3/addon.xml
index 86ac928..fcba953 100644
--- a/plugin.video.revision3/addon.xml
+++ b/plugin.video.revision3/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.revision3"
name="Revision3"
- version="2.0.9"
+ version="2.0.10"
provider-name="stacked">
<requires>
<import addon="xbmc.python" version="2.0"/>
diff --git a/plugin.video.revision3/changelog.txt
b/plugin.video.revision3/changelog.txt
index 3fb1599..add6453 100644
--- a/plugin.video.revision3/changelog.txt
+++ b/plugin.video.revision3/changelog.txt
@@ -1,3 +1,8 @@
+[B]Version 2.0.10[/B]
+- Added better support for HTTP Errors
+- Fixed reported 'UnicodeDecodeError' errors
+- Fixed reported 'IndexError' errors
+
[B]Version 2.0.9[/B]
- Fixed error when loading shows
diff --git a/plugin.video.revision3/default.py
b/plugin.video.revision3/default.py
index 880037f..c0902d3 100644
--- a/plugin.video.revision3/default.py
+++ b/plugin.video.revision3/default.py
@@ -4,8 +4,8 @@ import xbmc, xbmcgui, xbmcplugin, xbmcaddon, urllib, re,
string, sys, os, time,
plugin = 'Revision3'
__author__ = 'stacked <[email protected]>'
__url__ = 'http://code.google.com/p/plugin/'
-__date__ = '09-23-2012'
-__version__ = '2.0.9'
+__date__ = '09-30-2012'
+__version__ = '2.0.10'
settings = xbmcaddon.Addon(id='plugin.video.revision3')
buggalo.SUBMIT_URL = 'http://www.xbmc.byethost17.com/submit.php'
dbg = False
@@ -25,57 +25,53 @@ common.plugin = plugin + ' ' + __version__
import SimpleDownloader as downloader
downloader = downloader.SimpleDownloader()
-def ListItem(label, image, url, mode, isFolder, infoLabels = False, fanart =
False, name = False):
- listitem = xbmcgui.ListItem(label = label, iconImage = image,
thumbnailImage = image)
- if fanart:
- listitem.setProperty('fanart_image', fanart)
- if infoLabels:
- listitem.setInfo( type = "Video", infoLabels = infoLabels )
- if not isFolder:
- if settings.getSetting('download') == 'false':
- listitem.setProperty('IsPlayable', 'true')
- if mode:
- if name:
- label = name
- if mode == '2':
- u = sys.argv[0] + "?mode=2&name=" +
urllib.quote_plus(label) + "&url=" + urllib.quote_plus(url) + "&plot=" +
urllib.quote_plus(infoLabels['Plot']) + "&studio=" +
urllib.quote_plus(infoLabels['Studio']) + "&episode=" +
urllib.quote_plus(str(infoLabels['Episode'])) + "&thumb=" +
urllib.quote_plus(image) + "&date=" + urllib.quote_plus(infoLabels['Aired'])
- else:
- u = sys.argv[0] + "?mode=" + mode + "&name=" +
urllib.quote_plus(label) + "&url=" + urllib.quote_plus(url) + "&thumb=" +
urllib.quote_plus(image)
- else:
- u = url
- ok = xbmcplugin.addDirectoryItem(handle = int(sys.argv[1]), url = u,
listitem = listitem, isFolder = isFolder)
- return ok
-
-def open_url(url):
- retries = 0
- while retries < 3:
- try:
- data = common.fetchPage({"link": url})
- if len(data['content']) > 0 and data['status'] == 200:
- return data
- else:
- retries += 1
- except:
- retries += 1
- time.sleep(3)
- buggalo.addExtraData('url', url)
- buggalo.addExtraData('status', data['status'])
- dialog = xbmcgui.Dialog()
- ok = dialog.ok(plugin, settings.getLocalizedString( 30023 ) + '\n' +
settings.getLocalizedString( 30024 ))
- raise Exception("open_url ERROR")
-
-def open_url2(url):
- req = urllib2.Request(url)
- req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64;
rv:12.0) Gecko/20100101 Firefox/12.0')
- content = urllib2.urlopen(req)
- data = content.read()
- content.close()
- return data
+def retry(ExceptionToCheck, tries=4, delay=3, backoff=2, logger=None):
+ """Retry calling the decorated function using an exponential backoff.
+
+ http://www.saltycrane.com/blog/2009/11/trying-out-retry-decorator-python/
+ original from: http://wiki.python.org/moin/PythonDecoratorLibrary#Retry
+ :param ExceptionToCheck: the exception to check. may be a tuple of
+ excpetions to check
+ :type ExceptionToCheck: Exception or tuple
+ :param tries: number of times to try (not retry) before giving up
+ :type tries: int
+ :param delay: initial delay between retries in seconds
+ :type delay: int
+ :param backoff: backoff multiplier e.g. value of 2 will double the delay
+ each retry
+ :type backoff: int
+ :param logger: logger to use. If None, print
+ :type logger: logging.Logger instance
+ """
+ def deco_retry(f):
+ def f_retry(*args, **kwargs):
+ mtries, mdelay = tries, delay
+ try_one_last_time = True
+ while mtries > 1:
+ try:
+ return f(*args, **kwargs)
+ try_one_last_time = False
+ break
+ except ExceptionToCheck, e:
+ msg = "%s, Retrying in %d seconds..." % (str(e), mdelay)
+ if logger:
+ logger.warning(msg)
+ else:
+ print msg
+ time.sleep(mdelay)
+ mtries -= 1
+ mdelay *= backoff
+ if try_one_last_time:
+ return f(*args, **kwargs)
+ return
+ return f_retry # true decorator
+ return deco_retry
+
+@retry(IndexError, tries=4)
def build_main_directory(url):
path = url
- #html = common.fetchPage({"link": url})['content']
- html = open_url(url)['content']
+ html = open_url(url)
shows = common.parseDOM(html, "ul", attrs = { "id": "shows" })[0]
url_name = re.compile('<h3><a
href="(.+?)">(.+?)</a></h3>').findall(shows)
image = re.compile('class="thumbnail"><img src="(.+?)"
/></a>').findall(shows)
@@ -106,12 +102,12 @@ def build_main_directory(url):
setViewMode("515")
xbmcplugin.endOfDirectory(int(sys.argv[1]))
+@retry(IndexError, tries=4)
def build_sub_directory(url, name):
saveurl = url
studio = name
savestudio = name
- #html = common.fetchPage({"link": url})['content']
- html = open_url(url)['content']
+ html = open_url(url)
ret = common.parseDOM(html, "div", attrs = { "id": "main-episodes" })
pageLoad = common.parseDOM(ret, "a", ret = "onclick")
if len(ret) == 0:
@@ -126,10 +122,9 @@ def build_sub_directory(url, name):
if not '[ ' + settings.getLocalizedString( 30013 ) + ' ]' == name:
try:
downloads = 'http://revision3.com/' +
img.rsplit('/')[6] + '/' + img.rsplit('/')[6] + '_downloads'
- if common.fetchPage({"link": downloads})['status'] !=
200:
- raise Exception("HTTP ERROR")
- # fresult = common.fetchPage({"link":
downloads})['content']
- fresult = open_url(downloads)['content']
+ fresult = get_page(downloads)
+ if fresult == 'error':
+ raise Exception("build_sub_directory ERROR")
data = re.compile( '<a href="(.+?)"
target="_blank">1920x1200</a>' ).findall(fresult)
if len(data) > 1:
fanart = data[1]
@@ -138,15 +133,10 @@ def build_sub_directory(url, name):
settings.setSetting(img.rsplit('/')[6], fanart)
except:
fanart = 'http://statics.revision3.com/_/images/shows/'
+ img.rsplit('/')[6] + '/show_background.jpg'
- try:
- test = open_url2(fanart)
- settings.setSetting(img.rsplit('/')[6], fanart)
- except:
+ if get_page(fanart) == 'error':
settings.setSetting(img.rsplit('/')[6],
fanart_bg)
- # if common.fetchPage({"link": fanart})['status'] ==
200:
- # settings.setSetting(img.rsplit('/')[6],
fanart)
- # else:
- # settings.setSetting(img.rsplit('/')[6],
fanart_bg)
+ else:
+ settings.setSetting(img.rsplit('/')[6], fanart)
try:
child = common.parseDOM(html, "div", attrs = { "id":
"child-episodes" })
label = common.parseDOM(html, "a", attrs = { "href":
"#child-episodes" })[0]
@@ -201,75 +191,12 @@ def build_sub_directory(url, name):
xbmcplugin.setContent(int( sys.argv[1] ), 'episodes')
setViewMode("503")
xbmcplugin.endOfDirectory(int(sys.argv[1]))
-
-def build_search_directory(url):
- if url == 'search':
- try:
- search = common.getUserInput("Enter search term",
"").replace(' ','+')
- url = 'http://revision3.com/search/page?type=video&q='
+ search + '&limit=10&page=1'
- except:
- return
- #html = common.fetchPage({"link": url})['content']
- html = open_url(url)['content']
- current = common.parseDOM(html, "span", attrs = { "class": "active" })
- pageLoad = common.parseDOM(html, "a", ret = "onclick")
- try:
- strs = 'http://revision3.com' + pageLoad[-1:][0].rsplit('\'')[1]
- params = common.getParameters(strs)
- saveurl = strs.rstrip('&page=' + params['page']) + '&page=' +
str( int(current[0]) + 1 )
- if int(params['page']) > int(current[0]):
- next = True
- else:
- next = False
- except:
- next = False
- episodes = common.parseDOM(html, "li", attrs = { "class": "video" })
- if len(episodes) == 0:
- dialog = xbmcgui.Dialog()
- ok = dialog.ok( plugin , settings.getLocalizedString( 30009 ) +
'\n' + settings.getLocalizedString( 30010 ) )
- return
- for data in episodes:
- thumb = common.parseDOM(data, "img", ret = "src")[0]
- url = common.parseDOM(data, "a", attrs = { "class": "thumbnail"
}, ret = "href" )[0]
- url =
clean(url.replace('http://www.videosurf.com/webui/inc/go.php?redirect=','')).replace('&client_id=revision3','')
- title = clean(common.parseDOM(data, "a", attrs = { "class":
"title" })[0])
- plot = clean(common.stripTags(common.parseDOM(data, "div",
attrs = { "class": "description" })[0]))
- try:
- studio = title.rsplit(' - ')[1]
- except:
- studio = plugin
- infoLabels = { "Title": title, "Studio": studio, "Plot": plot,
"Episode": 0, "Aired": "0000-00-00" }
- ListItem(title, thumb, url, '2', False, infoLabels, fanart_bg)
- if next == True:
- infoLabels = { "Title": settings.getLocalizedString( 30016 ),
"Plot": settings.getLocalizedString( 30016 ) }
- ListItem(settings.getLocalizedString( 30016 ) + ' (' + str(
int(current[0]) + 1 ) + ')', next_thumb, saveurl, '4', True, infoLabels,
fanart_bg, studio)
- xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ),
sortMethod=xbmcplugin.SORT_METHOD_UNSORTED )
- xbmcplugin.setContent(int( sys.argv[1] ), 'episodes')
- setViewMode("503")
- xbmcplugin.endOfDirectory(int(sys.argv[1]))
-
-def setViewMode(id):
- if xbmc.getSkinDir() == "skin.confluence" and
settings.getSetting('view') == 'true':
- xbmc.executebuiltin("Container.SetViewMode(" + id + ")")
-
-def clean(name):
- remove = [('&','&'), ('"','"'), (''','\''), ('\r\n',' '),
('\n',' '), (''','\''), ('–','-'), ('%3A',':'), ('%2F','/'),
('<link>',''), ('</link>','')]
- for trash, crap in remove:
- name = name.replace(trash,crap)
- return name
-def clean_file(name):
- remove=[('\"',''),('\\',''),('/',''),(':',' -
'),('|',''),('>',''),('<',''),('?',''),('*','')]
- for old, new in remove:
- name=name.replace(old,new)
- return name
-
+@retry(IndexError, tries=4)
def get_video(url, name, plot, studio, episode, thumb, date):
- #result = common.fetchPage({"link": url})['content']
- result = open_url(url)['content']
+ result = open_url(url)
video_id =
re.compile('player\.loadRevision3Item\(\'video_id\',(.+?)\);').findall(result)[0].replace('
','')
- #api = common.fetchPage({"link":
'http://revision3.com/api/flash?video_id=' + video_id})['content']
- api = open_url('http://revision3.com/api/flash?video_id=' +
video_id)['content']
+ api = open_url('http://revision3.com/api/flash?video_id=' + video_id)
videos_api = common.parseDOM(api, "media", ret = "type")
videos_api[:] = (value for value in videos_api if value != 'thumbnail')
durl = {}
@@ -329,7 +256,122 @@ def get_video(url, name, plot, studio, episode, thumb,
date):
else:
listitem = xbmcgui.ListItem(label = name , iconImage =
'DefaultVideo.png', thumbnailImage = thumb, path = purl)
listitem.setInfo( type = "Video", infoLabels={ "Title":
name, "Studio": studio, "Plot": plot, "Episode": int(episode), "Aired": date }
)
- xbmcplugin.setResolvedUrl( handle = int( sys.argv[1] ),
succeeded = True, listitem = listitem )
+ xbmcplugin.setResolvedUrl( handle = int( sys.argv[1] ),
succeeded = True, listitem = listitem )
+
+@retry(IndexError, tries=4)
+def build_search_directory(url):
+ if url == 'search':
+ try:
+ search = common.getUserInput("Enter search term",
"").replace(' ','+')
+ url = 'http://revision3.com/search/page?type=video&q='
+ search + '&limit=10&page=1'
+ except:
+ return
+ html = open_url(url)
+ current = common.parseDOM(html, "span", attrs = { "class": "active" })
+ pageLoad = common.parseDOM(html, "a", ret = "onclick")
+ try:
+ strs = 'http://revision3.com' + pageLoad[-1:][0].rsplit('\'')[1]
+ params = common.getParameters(strs)
+ saveurl = strs.rstrip('&page=' + params['page']) + '&page=' +
str( int(current[0]) + 1 )
+ if int(params['page']) > int(current[0]):
+ next = True
+ else:
+ next = False
+ except:
+ next = False
+ episodes = common.parseDOM(html, "li", attrs = { "class": "video" })
+ if len(episodes) == 0:
+ dialog = xbmcgui.Dialog()
+ ok = dialog.ok( plugin , settings.getLocalizedString( 30009 ) +
'\n' + settings.getLocalizedString( 30010 ) )
+ return
+ for data in episodes:
+ thumb = common.parseDOM(data, "img", ret = "src")[0]
+ url = common.parseDOM(data, "a", attrs = { "class": "thumbnail"
}, ret = "href" )[0]
+ url =
clean(url.replace('http://www.videosurf.com/webui/inc/go.php?redirect=','')).replace('&client_id=revision3','')
+ title = clean(common.parseDOM(data, "a", attrs = { "class":
"title" })[0])
+ plot = clean(common.stripTags(common.parseDOM(data, "div",
attrs = { "class": "description" })[0]))
+ try:
+ studio = title.rsplit(' - ')[1]
+ except:
+ studio = plugin
+ infoLabels = { "Title": title, "Studio": studio, "Plot": plot,
"Episode": 0, "Aired": "0000-00-00" }
+ ListItem(title, thumb, url, '2', False, infoLabels, fanart_bg)
+ if next == True:
+ infoLabels = { "Title": settings.getLocalizedString( 30016 ),
"Plot": settings.getLocalizedString( 30016 ) }
+ ListItem(settings.getLocalizedString( 30016 ) + ' (' + str(
int(current[0]) + 1 ) + ')', next_thumb, saveurl, '4', True, infoLabels,
fanart_bg, studio)
+ xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ),
sortMethod=xbmcplugin.SORT_METHOD_UNSORTED )
+ xbmcplugin.setContent(int( sys.argv[1] ), 'episodes')
+ setViewMode("503")
+ xbmcplugin.endOfDirectory(int(sys.argv[1]))
+
+def ListItem(label, image, url, mode, isFolder, infoLabels = False, fanart =
False, name = False):
+ listitem = xbmcgui.ListItem(label = label, iconImage = image,
thumbnailImage = image)
+ if fanart:
+ listitem.setProperty('fanart_image', fanart)
+ if infoLabels:
+ listitem.setInfo( type = "Video", infoLabels = infoLabels )
+ if not isFolder:
+ if settings.getSetting('download') == 'false':
+ listitem.setProperty('IsPlayable', 'true')
+ if mode:
+ if name:
+ label = name
+ if mode == '2':
+ u = sys.argv[0] + "?mode=2&name=" +
urllib.quote_plus(label) + "&url=" + urllib.quote_plus(url) + "&plot=" +
urllib.quote_plus(infoLabels['Plot'].encode('ascii', 'ignore')) + "&studio=" +
urllib.quote_plus(infoLabels['Studio']) + "&episode=" +
urllib.quote_plus(str(infoLabels['Episode'])) + "&thumb=" +
urllib.quote_plus(image) + "&date=" + urllib.quote_plus(infoLabels['Aired'])
+ else:
+ u = sys.argv[0] + "?mode=" + mode + "&name=" +
urllib.quote_plus(label) + "&url=" + urllib.quote_plus(url) + "&thumb=" +
urllib.quote_plus(image)
+ else:
+ u = url
+ ok = xbmcplugin.addDirectoryItem(handle = int(sys.argv[1]), url = u,
listitem = listitem, isFolder = isFolder)
+ return ok
+
+def open_url(url):
+ retries = 0
+ while retries < 4:
+ try:
+ time.sleep(5*retries)
+ data = get_page(url)
+ if len(data) > 0 and data != 'error':
+ return data
+ else:
+ retries += 1
+ except:
+ retries += 1
+ buggalo.addExtraData('url', url)
+ dialog = xbmcgui.Dialog()
+ ok = dialog.ok(plugin, settings.getLocalizedString( 30023 ) + '\n' +
settings.getLocalizedString( 30024 ))
+ raise Exception("open_url ERROR")
+
+def get_page(url):
+ try:
+ req = urllib2.Request(url)
+ req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 6.1;
WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1')
+ content = urllib2.urlopen(req)
+ data = content.read()
+ content.close()
+ try:
+ return data.decode("utf-8")
+ except:
+ return data
+ except Exception, e:
+ buggalo.addExtraData('error', str(e))
+ return 'error'
+
+def setViewMode(id):
+ if xbmc.getSkinDir() == "skin.confluence" and
settings.getSetting('view') == 'true':
+ xbmc.executebuiltin("Container.SetViewMode(" + id + ")")
+
+def clean(name):
+ remove = [('&','&'), ('"','"'), (''','\''), ('\r\n',' '),
('\n',' '), (''','\''), ('–','-'), ('%3A',':'), ('%2F','/'),
('<link>',''), ('</link>','')]
+ for trash, crap in remove:
+ name = name.replace(trash,crap)
+ return name
+
+def clean_file(name):
+ remove=[('\"',''),('\\',''),('/',''),(':',' -
'),('|',''),('>',''),('<',''),('?',''),('*','')]
+ for old, new in remove:
+ name=name.replace(old,new)
+ return name
params = common.getParameters(sys.argv[2])
url = None
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=81572446ffb06577117a0a1bb2d316b29e846aef
commit 81572446ffb06577117a0a1bb2d316b29e846aef
Author: spiff <[email protected]>
Date: Mon Oct 1 09:02:11 2012 +0200
[plugin.video.cnet.podcasts] updated to version 1.0.6
diff --git a/plugin.video.cnet.podcasts/addon.xml
b/plugin.video.cnet.podcasts/addon.xml
index 2e10ed4..0025e15 100644
--- a/plugin.video.cnet.podcasts/addon.xml
+++ b/plugin.video.cnet.podcasts/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.cnet.podcasts"
name="cnet Podcasts"
- version="1.0.5"
+ version="1.0.6"
provider-name="divingmule">
<requires>
<import addon="xbmc.python" version="2.0"/>
diff --git a/plugin.video.cnet.podcasts/changelog.txt
b/plugin.video.cnet.podcasts/changelog.txt
index 17080b7..fad15a9 100644
--- a/plugin.video.cnet.podcasts/changelog.txt
+++ b/plugin.video.cnet.podcasts/changelog.txt
@@ -1,3 +1,6 @@
+version 1.0.6
+fix bug in scraper
+
version 1.0.5
updated show list, thanks pkscuot
@@ -22,4 +25,12 @@ added video descriptions
added categories for SD and HD
version - 0.0.1
-initial
\ No newline at end of file
+initial
+
+
+
+
+
+
+
+
diff --git a/plugin.video.cnet.podcasts/default.py
b/plugin.video.cnet.podcasts/default.py
index b44406f..093686b 100644
--- a/plugin.video.cnet.podcasts/default.py
+++ b/plugin.video.cnet.podcasts/default.py
@@ -72,10 +72,12 @@ def INDEX(url,hd_url,audio_url,iconimage):
continue
try:
desc = i('itunes:summary')[0].string
+ if desc == None: raise
except:
desc = ''
try:
date = i('pubdate')[0].string
+ if date == None: raise
except:
date = ''
try:
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=a8d8d2bcfc86958d27f4b18cb404e266f929bd54
commit a8d8d2bcfc86958d27f4b18cb404e266f929bd54
Author: spiff <[email protected]>
Date: Mon Oct 1 09:01:32 2012 +0200
[plugin.video.mlbmc] updated to version 1.1.0
diff --git a/plugin.video.mlbmc/addon.xml b/plugin.video.mlbmc/addon.xml
index 4c67772..78d9b43 100644
--- a/plugin.video.mlbmc/addon.xml
+++ b/plugin.video.mlbmc/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.mlbmc"
name="MLBMC"
- version="1.0.9"
+ version="1.1.0"
provider-name="divingmule">
<requires>
<import addon="xbmc.python" version="2.0"/>
diff --git a/plugin.video.mlbmc/changelog.txt b/plugin.video.mlbmc/changelog.txt
index 9c0a1d1..4425e61 100644
--- a/plugin.video.mlbmc/changelog.txt
+++ b/plugin.video.mlbmc/changelog.txt
@@ -1,3 +1,6 @@
+Version 1.1.0
+fix bug in mlb.tv listing
+
Version 1.0.9
added option to show scores in game lists
added a kind-of calender function for getting game dates, thanks to J_K_M_A_N
for the inspiration!
diff --git a/plugin.video.mlbmc/default.py b/plugin.video.mlbmc/default.py
index beeeb7b..0356365 100644
--- a/plugin.video.mlbmc/default.py
+++ b/plugin.video.mlbmc/default.py
@@ -548,8 +548,8 @@ def getGames(url):
except:
xbmc.executebuiltin("XBMC.Notification("+__language__(30015)+","+__language__(30030)+",10000,"+icon+")")
return
- mode = '7'
for game in games:
+ mode = '7'
home_team = game['home_team_city']
away_team = game['away_team_city']
status = game['status']['status']
-----------------------------------------------------------------------
Summary of changes:
plugin.video.cnet.podcasts/addon.xml | 2 +-
plugin.video.cnet.podcasts/changelog.txt | 13 ++-
plugin.video.cnet.podcasts/default.py | 2 +
plugin.video.manoto/.gitattributes | 7 -
plugin.video.manoto/addon.xml | 2 +-
plugin.video.manoto/default.py | 13 ++
plugin.video.mlbmc/addon.xml | 2 +-
plugin.video.mlbmc/changelog.txt | 3 +
plugin.video.mlbmc/default.py | 2 +-
plugin.video.revision3/addon.xml | 2 +-
plugin.video.revision3/changelog.txt | 5 +
plugin.video.revision3/default.py | 304 +++++++++++++++++-------------
12 files changed, 213 insertions(+), 144 deletions(-)
delete mode 100644 plugin.video.manoto/.gitattributes
hooks/post-receive
--
Plugins
------------------------------------------------------------------------------
Got visibility?
Most devs has no idea what their production app looks like.
Find out how fast your code is with AppDynamics Lite.
http://ad.doubleclick.net/clk;262219671;13503038;y?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons