The branch, dharma has been updated
via 0e226211608ecff82f3e66e16a1a0fe120879de9 (commit)
via 9906e04444e60af5aa867e38bc2f318d649b616e (commit)
from d8a6b8c42c266803b39b70f63711fd34fb1295ed (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=0e226211608ecff82f3e66e16a1a0fe120879de9
commit 0e226211608ecff82f3e66e16a1a0fe120879de9
Author: spiff <[email protected]>
Date: Thu Sep 15 08:44:24 2011 +0200
[plugin.video.jupiterbroadcasting] updated to version 1.2.0
diff --git a/plugin.video.jupiterbroadcasting/addon.xml
b/plugin.video.jupiterbroadcasting/addon.xml
index dc00780..d780426 100644
--- a/plugin.video.jupiterbroadcasting/addon.xml
+++ b/plugin.video.jupiterbroadcasting/addon.xml
@@ -12,7 +12,7 @@
</extension>
<extension point="xbmc.addon.metadata">
<summary>Jupiter Broadcasting video plugin</summary>
- <description>Videos from the Jupiter Broadcasting Network.</description>
+ <description>Shows from the Jupiter Broadcasting Network including the
Linux Action Show, STOked, TechSNAP and more.</description>
<platform>all</platform>
</extension>
</addon>
diff --git a/plugin.video.jupiterbroadcasting/changelog.txt
b/plugin.video.jupiterbroadcasting/changelog.txt
index 8f859bc..2c7d37c 100644
--- a/plugin.video.jupiterbroadcasting/changelog.txt
+++ b/plugin.video.jupiterbroadcasting/changelog.txt
@@ -1,3 +1,8 @@
+[B]Version 1.2.0[/B]
+- Switched to HD video
+- Updated some of the show thumbnail images
+- Fix for RSS feeds without enclosures
+
[B]Version 1.1.0[/B]
- New show: The MMOrgue
- New show: TechSNAP
diff --git a/plugin.video.jupiterbroadcasting/default.py
b/plugin.video.jupiterbroadcasting/default.py
index 218ad79..b6b0b15 100644
--- a/plugin.video.jupiterbroadcasting/default.py
+++ b/plugin.video.jupiterbroadcasting/default.py
@@ -8,12 +8,12 @@ def CATEGORIES():
plugins = {}
plugins[__language__(30006)] = {
'feed':
'http://feeds2.feedburner.com/AllJupiterVideos?format=xml',
- 'image': 'http://www.jupiterbroadcasting.com/jupiter.png',
+ 'image':
'http://images2.wikia.nocookie.net/__cb20110118004527/jupiterbroadcasting/images/2/24/JupiterBadgeGeneric.jpg',
'plot': 'All the latest videos from Jupiter Broadcasting.',
'genre': 'Technology'
}
plugins[__language__(30000)] = {
- 'feed':
'http://feeds.feedburner.com/linuxactionshowipodvid?format=xml',
+ 'feed':
'http://feeds.feedburner.com/computeractionshowvideo?format=xml',
'image':
'http://www.jupiterbroadcasting.com/images/LAS-VIDEO.jpg',
'plot': 'The Linux Action Show covers the latest news in free
and open source software, especially Linux.',
'genre': 'Technology'
@@ -25,7 +25,7 @@ def CATEGORIES():
'genre': 'Technology'
}
plugins[__language__(30002)] = {
- 'feed': 'http://feeds.feedburner.com/stokedipod?format=xml',
+ 'feed': 'http://feeds.feedburner.com/stokedhd?format=xml',
'image':
'http://www.jupiterbroadcasting.com/images/STOked-BadgeHD.png',
'plot': 'All the news about Star Trek Online you would ever
need.',
'genre': 'Technology'
@@ -37,7 +37,7 @@ def CATEGORIES():
'genre': 'Technology'
}
plugins[__language__(30004)] = {
- 'feed':
'http://feeds.feedburner.com/jupiterniteivid?format=xml',
+ 'feed': 'http://feeds.feedburner.com/jupiternitehd?format=xml',
'image':
'http://www.jupiterbroadcasting.com/images/JANBADGE-LVID.jpg',
'plot': 'Jupiter Broadcasting hooliganisms covered in front of
a live audience on the intertubes.',
'genre': 'Technology'
@@ -49,14 +49,14 @@ def CATEGORIES():
'genre': 'Technology'
}
plugins[__language__(30007)] = {
- 'feed': 'http://feeds.feedburner.com/MMOrgueLarge?format=xml',
+ 'feed': 'http://feeds.feedburner.com/MMOrgueHD?format=xml',
'image':
'http://www.jupiterbroadcasting.com/images/MMOrgueBadgeHD144.jpg',
'plot': 'The MMOrgue is a show presented by Jeremy about
Massively Multiplayer Online (MMO) games.',
'genre': 'Technology'
}
plugins[__language__(30008)] = {
'feed': 'http://feeds.feedburner.com/techsnaphd?format=xml',
- 'image':
'http://images4.wikia.nocookie.net/jupiterbroadcasting/images/9/93/Techsnap.jpg',
+ 'image':
'http://images3.wikia.nocookie.net/jupiterbroadcasting/images/d/d6/Techsnapcenter.jpg',
'plot': 'TechSNAP is a show about technology news hosted by
Chris Fisher and Allan Jude which records live on Thursdays and is released on
the following Monday.',
'genre': 'Technology'
}
@@ -66,13 +66,20 @@ def CATEGORIES():
'plot': 'SciByte is a show about science topics presented by
Heather and Jeremy.',
'genre': 'Science'
}
+ # TODO: Add FauxShow?
+ #plugins[__language__(30011)] = {
+ # 'feed': 'http://blip.tv/fauxshow/rss',
+ # 'image':
'http://images3.wikia.nocookie.net/__cb20110422002134/jupiterbroadcasting/images/0/0b/Fauxshow.jpg',
+ # 'plot': 'The FauxShow is not a real show, but a social
experience. Unlike most of the shows on the network, the FauxShow has no
defined subject and the topic varies week to week.',
+ # 'genre': 'Humour'
+ #}
x = 1
for name, data in plugins.iteritems():
data['count'] = x
x = x + 1
addDir(name, data['feed'], 1, data['image'], data)
#TODO: Add Jupiter Broadcasting Live via Justin.tv?
- #addLink(__language__(30007),
'http://www.justin.tv/widgets/live_embed_player.swf?channel=jupiterbroadcasting',
'', '',
'http://www.jupiterbroadcasting.com/wp-content/themes/ondemand/images/logo.jpg')
+ #addLink(__language__(30010),
'http://www.justin.tv/widgets/live_embed_player.swf?channel=jupiterbroadcasting',
'', '',
'http://www.jupiterbroadcasting.com/wp-content/themes/ondemand/images/logo.jpg')
def INDEX(name, url):
import feedparser
@@ -81,17 +88,19 @@ def INDEX(name, url):
for item in data.entries:
info = {}
# The title
- title = info['Title'] = str(x) + '. ' + item.title
- # Video URL
- video = getattr(item.enclosures[0], 'href', 0);
- if video == 0:
- video = getattr(item.enclosures[0], 'url', '')
- size = getattr(item.enclosures[0], 'length', 0)
- info['size'] = int(size)
+ title = info['title'] = str(x) + '. ' + item.title
+ # Process the enclosures
+ if hasattr(item, 'enclosures'):
+ # Video URL
+ video = getattr(item.enclosures[0], 'href', 0);
+ if video == 0:
+ video = getattr(item.enclosures[0], 'url', '')
+ size = getattr(item.enclosures[0], 'length', 0)
+ info['size'] = int(size)
info['count'] = x
- #Date
+ # Date
date = info['date'] = strftime("%d.%m.%Y", item.updated_parsed)
- info['Plot'] = re.sub(r'<[^>]*?>', '', item.summary)
+ info['plot'] = re.sub(r'<[^>]*?>', '', item.summary)
info['plotoutline'] = item.subtitle
info['director'] = item.author
info['tvshowtitle'] = name
@@ -120,7 +129,7 @@ def get_params():
def addLink(name, url, date, iconimage, info):
ok=True
liz=xbmcgui.ListItem(name, date, iconImage=iconimage,
thumbnailImage=iconimage)
- liz.setInfo( type="Video", infoLabels=info )
+ liz.setInfo( type="video", infoLabels=info )
ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=url,listitem=liz)
return ok
@@ -129,7 +138,7 @@ def addDir(name,url,mode,iconimage, info):
ok=True
info["Title"] = name
liz=xbmcgui.ListItem(name, iconImage=iconimage,
thumbnailImage=iconimage)
- liz.setInfo(type="Video", infoLabels=info)
+ liz.setInfo(type="video", infoLabels=info)
ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,isFolder=True)
return ok
diff --git
a/plugin.video.jupiterbroadcasting/resources/language/English/strings.xml
b/plugin.video.jupiterbroadcasting/resources/language/English/strings.xml
index 82c11bc..005743f 100644
--- a/plugin.video.jupiterbroadcasting/resources/language/English/strings.xml
+++ b/plugin.video.jupiterbroadcasting/resources/language/English/strings.xml
@@ -10,4 +10,6 @@
<string id="30007">The MMOrgue</string>
<string id="30008">TechSNAP</string>
<string id="30009">SciByte</string>
+ <string id="30010">Live</string>
+ <string id="30011">FauxShow</string>
</strings>
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=9906e04444e60af5aa867e38bc2f318d649b616e
commit 9906e04444e60af5aa867e38bc2f318d649b616e
Author: spiff <[email protected]>
Date: Thu Sep 15 08:42:48 2011 +0200
[plugin.video.eevblog] updated to version 0.1.8
diff --git a/plugin.video.eevblog/addon.xml b/plugin.video.eevblog/addon.xml
index 10d230c..8bfbe54 100644
--- a/plugin.video.eevblog/addon.xml
+++ b/plugin.video.eevblog/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.eevblog"
name="EEVblog"
- version="0.1.7"
+ version="0.1.8"
provider-name="Clumsy">
<requires>
<import addon="xbmc.python" version="1.0"/>
diff --git a/plugin.video.eevblog/changelog.txt
b/plugin.video.eevblog/changelog.txt
index 3eb7835..f649e55 100644
--- a/plugin.video.eevblog/changelog.txt
+++ b/plugin.video.eevblog/changelog.txt
@@ -1,3 +1,8 @@
+[B]Version 0.1.8[/B]
+
+- fixes video links
+- thanks to the youtube plugin authors where I borrowed some code
+
[B]Version 0.1.7[/B]
- fixed bug that broke old episodes
diff --git a/plugin.video.eevblog/default.py b/plugin.video.eevblog/default.py
index b1a39b9..856c4e5 100644
--- a/plugin.video.eevblog/default.py
+++ b/plugin.video.eevblog/default.py
@@ -3,7 +3,7 @@ import xbmc, xbmcgui, xbmcplugin, urllib2, urllib, re, string,
sys, os, tracebac
__plugin__ = 'EEVblog'
__author__ = 'Clumsy <[email protected]>'
__date__ = '02-05-2010'
-__version__ = '0.1.7'
+__version__ = '0.1.8'
__settings__ = xbmcaddon.Addon(id='plugin.video.eevblog')
# Thanks to some of the other plugin authors, where I borrowed some ideas from
!
@@ -63,11 +63,11 @@ def play_video(ep_url):
youtube_video_id = re.compile('<param name="movie"
value=".*?/v/(.+?)[&\?].').findall(ep_data)
# Ugly hack for a change in the page src from videos 140 onwards.
- if not youtube_video_id:
+ if len(youtube_video_id) == 0:
youtube_video_id =
re.compile('src="http://www.youtube.com/embed/(.*?)"').findall(ep_data)
# Close the busy waiting dialog, if the youtube url wasn't parsed correctly.
- if not youtube_video_id:
+ if len(youtube_video_id) == 0:
xbmc.executebuiltin('Dialog.Close(busydialog)')
return
@@ -79,15 +79,37 @@ def play_video(ep_url):
video_info_html = open_url('http://www.youtube.com/get_video_info?video_id='
+ youtube_video_id[0] +'&el=vevo')
- fmt_url_map = urllib.unquote_plus(re.findall('&fmt_url_map=([^&]+)',
video_info_html)[0]).split(',')
+ fmt_url_map =
urllib.unquote_plus(re.findall('&url_encoded_fmt_stream_map=([^&]+)',
video_info_html)[0]).split(',')
+
for url in fmt_url_map:
- if (quality == 22) and url.startswith('22|'):
- video_url = url.split('|')[1]
+ video_url = urllib.unquote_plus(url)
+ video_url = video_url.replace(" ", "%20").replace("url=", "")
+ if (quality == 22) and video_url.endswith('itag=22'):
break
- elif (url.startswith('35|')
- or url.startswith('34|') or url.startswith('18|')):
- video_url = url.split('|')[1]
+ elif (url.startswith('itag=35')
+ or url.endswith('itag=34') or url.endswith('itag=18')):
break
+
+ # The following is blatantly borrowed from the really nice youtube plugin.
Thanks guys and boo youtube.
+ if (video_url.rfind(';') > 0):
+ video_url = video_url[:video_url.rfind(';')]
+ if (video_url.rfind(',') > video_url.rfind('&id=')):
+ video_url = video_url[:video_url.rfind(',')]
+ elif (video_url.rfind(',') > video_url.rfind('/id/') and
video_url.rfind('/id/') > 0):
+ video_url = video_url[:video_url.rfind('/')]
+ if video_url.find("&type") > 0:
+ video_url = video_url[:video_url.find("&type")]
+ pos = video_url.find("://")
+ fpos = video_url.find("fallback_host")
+ if pos > -1 and fpos > -1:
+ host = video_url[pos + 3:]
+ if host.find("/") > -1:
+ host = host[:host.find("/")]
+ fmt_fallback = video_url[fpos + 14:]
+ if fmt_fallback.find("&") > -1:
+ fmt_fallback = fmt_fallback[:fmt_fallback.find("&")]
+ video_url = video_url.replace(host, fmt_fallback)
+ video_url = video_url.replace("fallback_host=" + fmt_fallback,
"fallback_host=" + host)
listitem = xbmcgui.ListItem(label = name , iconImage = 'DefaultVideo.png',
thumbnailImage = '')
listitem.setInfo( type = "Video", infoLabels={ "Title": name, "Director":
__plugin__, "Studio": __plugin__, "Genre": genre, "Plot": plot, "Episode":
int(0) } )
-----------------------------------------------------------------------
Summary of changes:
plugin.video.eevblog/addon.xml | 2 +-
plugin.video.eevblog/changelog.txt | 5 ++
plugin.video.eevblog/default.py | 40 +++++++++++++----
plugin.video.jupiterbroadcasting/addon.xml | 2 +-
plugin.video.jupiterbroadcasting/changelog.txt | 5 ++
plugin.video.jupiterbroadcasting/default.py | 45 ++++++++++++--------
.../resources/language/English/strings.xml | 2 +
7 files changed, 72 insertions(+), 29 deletions(-)
hooks/post-receive
--
Plugins
------------------------------------------------------------------------------
Doing More with Less: The Next Generation Virtual Desktop
What are the key obstacles that have prevented many mid-market businesses
from deploying virtual desktops? How do next-generation virtual desktops
provide companies an easier-to-deploy, easier-to-manage and more affordable
virtual desktop model.http://www.accelacomm.com/jaw/sfnl/114/51426474/
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons