The branch, eden-pre has been updated
via 03a21987af5e61eaa33d4d88429003b960428e3a (commit)
from 054c143316aa1e63bc0e7200a48fe6d2771be672 (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=03a21987af5e61eaa33d4d88429003b960428e3a
commit 03a21987af5e61eaa33d4d88429003b960428e3a
Author: spiff <[email protected]>
Date: Mon Nov 28 09:24:08 2011 +0100
[plugin.video.engadget] updated to version 1.0.2
diff --git a/plugin.video.engadget/addon.xml b/plugin.video.engadget/addon.xml
index 3689753..3103fcd 100644
--- a/plugin.video.engadget/addon.xml
+++ b/plugin.video.engadget/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.engadget"
name="Engadget"
- version="1.0.1"
+ version="1.0.2"
provider-name="divingmule">
<requires>
<import addon="xbmc.python" version="2.0"/>
diff --git a/plugin.video.engadget/changelog.txt
b/plugin.video.engadget/changelog.txt
index 1b5ce67..aac8fc3 100644
--- a/plugin.video.engadget/changelog.txt
+++ b/plugin.video.engadget/changelog.txt
@@ -1,3 +1,6 @@
+Version 1.0.2
+fix for changes in the rss feed
+
Version 1.0.1
added download to the context menu
diff --git a/plugin.video.engadget/default.py b/plugin.video.engadget/default.py
index f457ddc..df5645f 100644
--- a/plugin.video.engadget/default.py
+++ b/plugin.video.engadget/default.py
@@ -1,18 +1,17 @@
import urllib,urllib2,re,os
import xbmcplugin,xbmcgui,xbmcaddon
-from BeautifulSoup import BeautifulStoneSoup
+from BeautifulSoup import BeautifulStoneSoup, BeautifulSoup
__settings__ = xbmcaddon.Addon(id='plugin.video.engadget')
__language__ = __settings__.getLocalizedString
home = __settings__.getAddonInfo('path')
icon = xbmc.translatePath( os.path.join( home, 'icon.png' ) )
-showicon = xbmc.translatePath( os.path.join( home, 'resources/show.png' ) )
nexticon = xbmc.translatePath( os.path.join( home, 'resources/next.png' ) )
videoq = __settings__.getSetting('video_quality')
def Categories():
-
addDir(__language__(30000),'http://www.engadget.com/engadgetshow.xml',1,showicon)
+
addDir(__language__(30000),'http://www.engadget.com/engadgetshow.xml',1,'http://www.blogcdn.com/www.engadget.com/media/2011/07/engadget-show-logo-1310764107.jpg')
addDir(__language__(30001),'http://api.viddler.com/api/v2/viddler.videos.getByUser.xml?key=tg50w8nr11q8176liowh&user=engadget',2,icon)
@@ -25,11 +24,11 @@ def getEngadgetVideos(url):
videos = soup('video_list')[0]('video')
page = int(soup('list_result')[0]('page')[0].string)+1
for video in videos:
- name = video('title')[0].string
- link = video('html5_video_source')[0].string
- thumb = video('thumbnail_url')[0].string
- length = video('length')[0].string
- addLink(name,link,length,thumb)
+ name = video('title')[0].string
+ link = video('html5_video_source')[0].string
+ thumb = video('thumbnail_url')[0].string
+ length = video('length')[0].string
+ addLink(name,link,length,thumb)
addDir(__language__(30006),'http://api.viddler.com/api/v2/viddler.videos.getByUser.xml?key=tg50w8nr11q8176liowh&user=engadget&page='+str(page),2,nexticon)
@@ -42,10 +41,11 @@ def getEngadgetShow(url):
soup = BeautifulStoneSoup(link,
convertEntities=BeautifulStoneSoup.XML_ENTITIES)
episodes = soup('item')
for episode in episodes:
+ try:
url = episode('enclosure')[0]['url']
title = episode('enclosure')[0]('itunes:subtitle')[0].string
duration = episode('enclosure')[0]('itunes:duration')[0].string
- thumbnail =
'http://www.blogcdn.com/www.engadget.com/media/2009/09/show_front_sm.jpg'
+ thumbnail =
'http://www.blogcdn.com/www.engadget.com/media/2011/07/engadget-show-logo-1310764107.jpg'
if videoq == '0':
url=url.replace('900.mp4','500.mp4')
elif videoq == '2':
@@ -53,58 +53,61 @@ def getEngadgetShow(url):
else:
url=url
addLink(title,url,duration,thumbnail,True)
+ except:
+ try:
+ Soup = BeautifulSoup(episode('description')[0].string,
convertEntities=BeautifulSoup.HTML_ENTITIES)
+ thumb = Soup.img['src']
+ url = Soup('strong', text='Download the Show:
')[0].next['href']
+ title = episode.title.string
+ if videoq == '0':
+ url=url.replace('2500.mp4','700.mp4')
+ elif videoq == '1':
+ url=url.replace('2500.mp4','1100.mp4')
+ else:
+ url=url
+ addLink(title,url,'',thumb,True)
+ except:
+ print "There was a problem adding the engadget show
episode."
+
+
+def DownloadFiles(url,filename):
+ def download(url, dest):
+ dialog = xbmcgui.DialogProgress()
+ dialog.create(__language__(30001),__language__(30004), filename)
+ urllib.urlretrieve(url, dest, lambda nb, bs, fs, url = url:
_pbhook(nb, bs, fs, url, dialog))
+ def _pbhook(numblocks, blocksize, filesize, url = None,dialog = None):
+ try:
+ percent = min((numblocks * blocksize * 100) / filesize, 100)
+ dialog.update(percent)
+ except:
+ percent = 100
+ dialog.update(percent)
+ if dialog.iscanceled():
+ dialog.close()
+ # check for a download location, if not open settings
+ if __settings__.getSetting('save_path') == '':
+ __settings__.openSettings('save_path')
+ filepath =
xbmc.translatePath(os.path.join(__settings__.getSetting('save_path'),filename))
+ download(url, filepath)
+ if __settings__.getSetting('play') == "true":
+ play=xbmc.Player().play( xbmc.translatePath( os.path.join(
__settings__.getSetting('save_path'), filename ) ))
-class DownloadFiles:
- def __init__(self):
- url = sys.argv[2]
- filename = sys.argv[3]
- def download(url, dest):
- dialog = xbmcgui.DialogProgress()
- dialog.create(__language__(30015),__language__(30016),
filename)
- urllib.urlretrieve(url, dest, lambda nb, bs, fs, url =
url: _pbhook(nb, bs, fs, url, dialog))
- def _pbhook(numblocks, blocksize, filesize, url = None,dialog
= None):
- try:
- percent = min((numblocks * blocksize * 100) /
filesize, 100)
- dialog.update(percent)
- except:
- percent = 100
- dialog.update(percent)
- if dialog.iscanceled():
- dialog.close()
- # check for a download location, if not open settings
- if (__settings__.getSetting('save_path') == ''):
- __settings__.openSettings('save_path')
- # lets the user rename the file
- keyboard = xbmc.Keyboard(filename,__language__(30011))
- keyboard.doModal()
- if (keyboard.isConfirmed() == False):
- return
- filename = keyboard.getText()
- if len(filename) == 0:
- return
- filepath =
xbmc.translatePath(os.path.join(__settings__.getSetting('save_path'),filename))
- download(url, filepath)
- if __settings__.getSetting('play') == "true":
- play=xbmc.Player().play( xbmc.translatePath( os.path.join(
__settings__.getSetting('save_path'), filename ) ))
-
-
def get_params():
param=[]
paramstring=sys.argv[2]
if len(paramstring)>=2:
- params=sys.argv[2]
- cleanedparams=params.replace('?','')
- if (params[len(params)-1]=='/'):
- params=params[0:len(params)-2]
- pairsofparams=cleanedparams.split('&')
- param={}
- for i in range(len(pairsofparams)):
- splitparams={}
- splitparams=pairsofparams[i].split('=')
- if (len(splitparams))==2:
- param[splitparams[0]]=splitparams[1]
-
+ params=sys.argv[2]
+ cleanedparams=params.replace('?','')
+ if (params[len(params)-1]=='/'):
+ params=params[0:len(params)-2]
+ pairsofparams=cleanedparams.split('&')
+ param={}
+ for i in range(len(pairsofparams)):
+ splitparams={}
+ splitparams=pairsofparams[i].split('=')
+ if (len(splitparams))==2:
+ param[splitparams[0]]=splitparams[1]
return param
@@ -113,13 +116,13 @@ def addLink(name,url,duration,iconimage,showcontext=True):
liz=xbmcgui.ListItem(name, iconImage="DefaultVideo.png",
thumbnailImage=iconimage)
liz.setInfo( type="Video", infoLabels={ "Title": name,
"Duration":duration } )
if showcontext:
- try:
- filename = name.replace(':','-')+'.mp4'
- except:
- pass
- contextMenu =
[(__language__(30004),'XBMC.RunScript('+xbmc.translatePath( os.path.join( home,
'default.py' ) )+',download,'+url+','+filename+')')]
- liz.addContextMenuItems(contextMenu)
-
ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=url,listitem=liz)
+ try:
+ filename = name.replace(':','-').replace(' ','_')+'.mp4'
+ except:
+ pass
+ contextMenu =
[(__language__(30004),'XBMC.Container.Update(%s?url=%s&mode=3&name=%s)'
%(sys.argv[0],urllib.quote_plus(url),urllib.quote_plus(filename)))]
+ liz.addContextMenuItems(contextMenu)
+
ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=url,listitem=liz)
return ok
@@ -131,46 +134,43 @@ def addDir(name,url,mode,iconimage):
ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,isFolder=True)
return ok
-
-def startPlugin():
- params=get_params()
- url=None
- name=None
- mode=None
-
- try:
- url=urllib.unquote_plus(params["url"])
- except:
- pass
- try:
- name=urllib.unquote_plus(params["name"])
- except:
- pass
- try:
- mode=int(params["mode"])
- except:
- pass
-
- print "Mode: "+str(mode)
- print "URL: "+str(url)
- print "Name: "+str(name)
-
- if mode==None:
- print ""
- Categories()
-
- if mode==1:
- print""
- getEngadgetShow(url)
-
- if mode==2:
- print""
- getEngadgetVideos(url)
-
- xbmcplugin.endOfDirectory(int(sys.argv[1]))
-
-if sys.argv[1] == 'download':
- DownloadFiles()
-
-else:
- startPlugin()
\ No newline at end of file
+
+params=get_params()
+url=None
+name=None
+mode=None
+
+try:
+ url=urllib.unquote_plus(params["url"])
+except:
+ pass
+try:
+ name=urllib.unquote_plus(params["name"])
+except:
+ pass
+try:
+ mode=int(params["mode"])
+except:
+ pass
+
+print "Mode: "+str(mode)
+print "URL: "+str(url)
+print "Name: "+str(name)
+
+if mode==None:
+ print ""
+ Categories()
+
+if mode==1:
+ print""
+ getEngadgetShow(url)
+
+if mode==2:
+ print""
+ getEngadgetVideos(url)
+
+if mode==3:
+ print""
+ DownloadFiles(url,name)
+
+xbmcplugin.endOfDirectory(int(sys.argv[1]))
\ No newline at end of file
diff --git a/plugin.video.engadget/resources/language/English/strings.xml
b/plugin.video.engadget/resources/language/English/strings.xml
index b3933fc..a1a9df6 100644
--- a/plugin.video.engadget/resources/language/English/strings.xml
+++ b/plugin.video.engadget/resources/language/English/strings.xml
@@ -2,7 +2,7 @@
<strings>
<string id="30000">The Engadget Show</string>
<string id="30001">Engadget Videos</string>
- <string id="30002"></string>
+ <string id="30002">Downloading</string>
<string id="30003">Play after downloading</string>
<string id="30004">Download</string>
<string id="30005">Select Download Location</string>
-----------------------------------------------------------------------
Summary of changes:
plugin.video.engadget/addon.xml | 2 +-
plugin.video.engadget/changelog.txt | 3 +
plugin.video.engadget/default.py | 210 ++++++++++----------
.../resources/language/English/strings.xml | 2 +-
4 files changed, 110 insertions(+), 107 deletions(-)
hooks/post-receive
--
Plugins
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure
contains a definitive record of customers, application performance,
security threats, fraudulent activity, and more. Splunk takes this
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons