The branch, dharma has been updated
via c05ab682e68c17fd6d0138f43d2d278c7eead4b3 (commit)
from 85db6a5c3a7865f4d596c85346c67a2da1b33ed4 (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=c05ab682e68c17fd6d0138f43d2d278c7eead4b3
commit c05ab682e68c17fd6d0138f43d2d278c7eead4b3
Author: spiff <[email protected]>
Date: Wed Feb 23 21:32:41 2011 +0100
[plugin.video.svtplay] updated to version 1.0.4
diff --git a/plugin.video.svtplay/addon.xml b/plugin.video.svtplay/addon.xml
index 308be1d..cbadcd7 100644
--- a/plugin.video.svtplay/addon.xml
+++ b/plugin.video.svtplay/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.svtplay"
name="SVT Play"
- version="1.0.3"
+ version="1.0.4"
provider-name="nilzen">
<requires>
<import addon="xbmc.python" version="1.0"/>
diff --git a/plugin.video.svtplay/changelog.txt
b/plugin.video.svtplay/changelog.txt
index 0361c4a..d291c06 100644
--- a/plugin.video.svtplay/changelog.txt
+++ b/plugin.video.svtplay/changelog.txt
@@ -1,3 +1,7 @@
+Version 1.0.4
+-------------
+- Improved handling of subtitles (by kokangit, thx to elupus)
+
Version 1.0.3
-------------
- Fixed settings boolean (by kokangit & nilzen)
diff --git a/plugin.video.svtplay/default.py b/plugin.video.svtplay/default.py
index e0018c6..3180f5f 100644
--- a/plugin.video.svtplay/default.py
+++ b/plugin.video.svtplay/default.py
@@ -1,6 +1,5 @@
# -*- coding: utf-8 -*-
import os
-import time
import urllib
import urllib2
import xbmcgui
@@ -18,7 +17,6 @@ SETTINGS_MAX_ITEMS_PER_PAGE = [20, 50, 100,
200][int(__settings__.getSetting("li
SETTINGS_DEBUG = (__settings__.getSetting("debug").lower() == "true")
SETTINGS_CONTEXT_MENU =__settings__.getSetting("context_menu")
SETTINGS_COMMAND = __settings__.getSetting("command")
-SETTINGS_SUBTITLES = (__settings__.getSetting("subtitles").lower() == "true")
TEXT_NEXT_PAGE = __language__(30200)
@@ -30,7 +28,6 @@ MODE_SEARCH_TITLE = "searchtitle"
MODE_SEARCH_VIDEO = "searchfull"
MODE_SEARCH_CLIP = "searchsample"
MODE_DEBUG = "debug"
-MODE_PLAY = "play"
BASE_URL_TEASER = "http://xml.svtplay.se/v1/teaser/list/"
BASE_URL_TITLE = "http://xml.svtplay.se/v1/title/list/"
@@ -135,7 +132,7 @@ def video_list(ids="", url="", offset=1, list_size=0):
if list_size < SETTINGS_MAX_ITEMS_PER_PAGE:
media = get_media_content(item)
- subtitle = get_media_subtitle(item)
+ subtitles = get_media_subtitles(item)
thumb = get_media_thumbnail(item)
title = get_node_value(media, "title", NS_MEDIA)
description = get_node_value(item, "description")
@@ -154,9 +151,7 @@ def video_list(ids="", url="", offset=1, list_size=0):
infoLabels = { "Title": title.encode('utf_8'),
"Plot": description.encode('utf_8') }
- params = { "url": media.getAttribute("url"),
- "subtitle": subtitle,
- "mode": MODE_PLAY }
+ params = { "url": media.getAttribute("url") }
thumbnail = None
@@ -172,7 +167,7 @@ def video_list(ids="", url="", offset=1, list_size=0):
media_debug = get_media_content(item,
SETTINGS_HIGHEST_BITRATE_DEBUG)
params["url_debug"] =
media_debug.getAttribute("url")
add_directory_item(title, params, thumbnail, False,
- infoLabels)
+ infoLabels, subtitles)
pager(doc, ids, url, offset, list_size, MODE_VIDEO_LIST, video_list)
@@ -296,24 +291,22 @@ def get_media_content(node, settings_bitrate =
SETTINGS_HIGHEST_BITRATE):
return content
-def get_media_subtitle(node):
- subtitles = node.getElementsByTagNameNS(NS_MEDIA, "subTitle")
- if subtitles:
- return subtitles[0].getAttribute('href')
- # Do not return None: urllib.urlencode() will translate to the string
None
- return ""
+def get_media_subtitles(node):
+ return [sub.getAttribute("href") for sub in \
+ node.getElementsByTagNameNS(NS_MEDIA, "subTitle")]
def add_directory_item(name, params={}, thumbnail=None, isFolder=True,
- infoLabels=None):
+ infoLabels=None, subtitles=None):
li = xbmcgui.ListItem(name)
if not thumbnail is None:
li.setThumbnailImage(thumbnail)
- url = sys.argv[0] + '?' + urllib.urlencode(params)
- if isFolder == False:
- li.setProperty('IsPlayable', 'true')
+ if isFolder == True:
+ url = sys.argv[0] + '?' + urllib.urlencode(params)
+ else:
+ url = params["url"]
if not infoLabels:
infoLabels = { "Title": name }
li.setInfo(type="Video", infoLabels=infoLabels)
@@ -325,9 +318,14 @@ def add_directory_item(name, params={}, thumbnail=None,
isFolder=True,
cm_url = sys.argv[0] + '?' + "url=" +
params["url_debug"] + "&mode=debug" + "&name=" +
urllib.quote_plus(name.encode('utf_8'))
cm.append((SETTINGS_CONTEXT_MENU , "XBMC.RunPlugin(%s)"
% (cm_url)))
li.addContextMenuItems( cm, replaceItems=False )
+ add_subtitles(li, subtitles)
return xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url=url,
listitem=li, isFolder=isFolder)
+def add_subtitles(listItem, subtitles):
+ for i in range(len(subtitles)):
+ listItem.setProperty("upnp:subtitle:" + str(i+1), subtitles[i])
+
def parameters_string_to_dict(str):
params = {}
@@ -410,22 +408,6 @@ def load_xml(url):
except:
xbmc.log("unable to load url: " + url)
-def play(url, subtitle):
- item = xbmcgui.ListItem(path=url)
- xbmcplugin.setResolvedUrl(int(sys.argv[1]), True, item)
- if SETTINGS_SUBTITLES and (subtitle == None or len(subtitle) == 0):
- xbmc.log("No subtitles for " + url)
- elif SETTINGS_SUBTITLES:
- # The player must be started to set subtitle, wait for player
to start
- tries = 20
- while tries > 0:
- tries -= 1
- time.sleep(2)
- if xbmc.Player().isPlayingVideo():
- xbmc.Player().setSubtitles(subtitle)
- return
- xbmc.log("Failed to set subtitle", xbmc.LOGERROR)
-
params = parameters_string_to_dict(sys.argv[2])
mode = params.get("mode", None)
@@ -434,12 +416,9 @@ offset = int(params.get("offset", "1"))
path = urllib.unquote_plus(params.get("path", ""))
url = urllib.unquote_plus(params.get("url", ""))
name = urllib.unquote_plus(params.get("name", ""))
-subtitle = urllib.unquote_plus(params.get("subtitle", ""))
if not sys.argv[2] or not mode:
deviceconfiguration()
-elif mode == MODE_PLAY:
- play(url, subtitle)
elif mode == MODE_DEVICECONFIG:
deviceconfiguration(None, path)
elif mode == MODE_TEASER_LIST:
@@ -453,5 +432,4 @@ elif mode == MODE_SEARCH_TITLE or mode == MODE_SEARCH_VIDEO
or mode == MODE_SEAR
elif mode == MODE_DEBUG:
debug(url, name)
-if mode != MODE_PLAY:
- xbmcplugin.endOfDirectory(int(sys.argv[1]), succeeded=True,
cacheToDisc=True)
+xbmcplugin.endOfDirectory(int(sys.argv[1]), succeeded=True, cacheToDisc=True)
diff --git a/plugin.video.svtplay/resources/language/English/strings.xml
b/plugin.video.svtplay/resources/language/English/strings.xml
index 2d42a1f..2c36cd3 100644
--- a/plugin.video.svtplay/resources/language/English/strings.xml
+++ b/plugin.video.svtplay/resources/language/English/strings.xml
@@ -19,5 +19,4 @@
<string id="30501">Context menu label</string>
<string id="30502">URL video quality</string>
<string id="30503">Command</string>
- <string id="30504">Subtitles</string>
</strings>
diff --git a/plugin.video.svtplay/resources/language/Swedish/strings.xml
b/plugin.video.svtplay/resources/language/Swedish/strings.xml
index 682fe52..1a0f165 100644
--- a/plugin.video.svtplay/resources/language/Swedish/strings.xml
+++ b/plugin.video.svtplay/resources/language/Swedish/strings.xml
@@ -19,5 +19,4 @@
<string id="30501">Snabbmenytext</string>
<string id="30502">URL videokvalitet</string>
<string id="30503">Kommando</string>
- <string id="30504">Textning</string>
</strings>
diff --git a/plugin.video.svtplay/resources/settings.xml
b/plugin.video.svtplay/resources/settings.xml
index 2db2f8f..2ae985f 100644
--- a/plugin.video.svtplay/resources/settings.xml
+++ b/plugin.video.svtplay/resources/settings.xml
@@ -2,7 +2,6 @@
<settings>
<setting id="highest_bitrate" type="enum" label="30000"
lvalues="30100|30101|30102|30103" default="3" />
<setting id="list_size" type="enum" label="30001" values="20|50|100|200"
default="1" />
- <setting id="subtitles" type="bool" label="30504" default="false" />
<setting id="debug" type="bool" label="30500" default="false" />
<setting type="sep" />
<setting id="context_menu" type="text" enable="eq(-2,true)" label="30501"
default="DEBUG" />
-----------------------------------------------------------------------
Summary of changes:
plugin.video.svtplay/addon.xml | 2 +-
plugin.video.svtplay/changelog.txt | 4 ++
plugin.video.svtplay/default.py | 56 ++++++--------------
.../resources/language/English/strings.xml | 1 -
.../resources/language/Swedish/strings.xml | 1 -
plugin.video.svtplay/resources/settings.xml | 1 -
6 files changed, 22 insertions(+), 43 deletions(-)
hooks/post-receive
--
Plugins
------------------------------------------------------------------------------
Free Software Download: Index, Search & Analyze Logs and other IT data in
Real-Time with Splunk. Collect, index and harness all the fast moving IT data
generated by your applications, servers and devices whether physical, virtual
or in the cloud. Deliver compliance at lower cost and gain new business
insights. http://p.sf.net/sfu/splunk-dev2dev
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons