The branch, dharma-pre has been updated
via 76bc6cf689382457dde897e0176b47b859e02aef (commit)
from 1c36c9a880d9d718741ca9f7fd3ae19b2266f35a (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=76bc6cf689382457dde897e0176b47b859e02aef
commit 76bc6cf689382457dde897e0176b47b859e02aef
Author: Zeljko Ametovic <[email protected]>
Date: Sun Nov 7 10:18:41 2010 +0400
[plugin.audio.shoutcast] -v1.1.0
search parameter can be passed from skins or via favourites, thx Necochino
usage:
ActivateWindow(10501,"plugin://plugin.audio.shoutcast/?search=<your search
query>")
diff --git a/plugin.audio.shoutcast/addon.xml b/plugin.audio.shoutcast/addon.xml
index b647398..746c022 100644
--- a/plugin.audio.shoutcast/addon.xml
+++ b/plugin.audio.shoutcast/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.audio.shoutcast"
name="Shoutcast"
- version="1.0.9"
+ version="1.1.0"
provider-name="Team XBMC">
<requires>
<import addon="xbmc.python" version="1.0"/>
diff --git a/plugin.audio.shoutcast/default.py
b/plugin.audio.shoutcast/default.py
index 60b6020..fdad54d 100644
--- a/plugin.audio.shoutcast/default.py
+++ b/plugin.audio.shoutcast/default.py
@@ -58,21 +58,24 @@ def RESOLVE(id):
url = "%s?play=%s&tunein=%s" % (sys.argv[0],
stat.attributes["id"].value,node.getElementsByTagName('tunein')[0].attributes["base"].value)
addLink(name,url,stat.attributes["br"].value, stat.attributes["lc"].value)
-def search():
+def keyboard():
kb = xbmc.Keyboard("", __language__(30092), False)
kb.doModal()
if (kb.isConfirmed() and len(kb.getText()) > 2):
- url = "%s?search=%s" % (BASE_URL, quote_plus(kb.getText()),)
- log("SEARCH URL: %s" % url )
- req3 = urllib2.Request(url)
- response = urllib2.urlopen(req3)
- link = response.read()
- response.close()
- node = minidom.parseString(link).firstChild
- for stat in node.getElementsByTagName('station'):
- name =
unicodedata.normalize('NFKD',stat.attributes["name"].value).encode('ascii','ignore')
- url = "%s?play=%s&tunein=%s" % (sys.argv[0],
stat.attributes["id"].value,node.getElementsByTagName('tunein')[0].attributes["base"].value)
- addLink(name,url,stat.attributes["br"].value,
stat.attributes["lc"].value)
+ doSearch(kb.getText())
+
+def doSearch(search):
+ url = "%s?search=%s" % (BASE_URL, quote_plus(search),)
+ log("SEARCH URL: %s" % url )
+ req3 = urllib2.Request(url)
+ response = urllib2.urlopen(req3)
+ link = response.read()
+ response.close()
+ node = minidom.parseString(link).firstChild
+ for stat in node.getElementsByTagName('station'):
+ name =
unicodedata.normalize('NFKD',stat.attributes["name"].value).encode('ascii','ignore')
+ url = "%s?play=%s&tunein=%s" % (sys.argv[0],
stat.attributes["id"].value,node.getElementsByTagName('tunein')[0].attributes["base"].value)
+ addLink(name,url,stat.attributes["br"].value, stat.attributes["lc"].value)
def PLAY(st_id, tunein):
if __XBMC_Revision__.startswith("10.0"):
@@ -119,6 +122,21 @@ def addDir(name):
def log(msg):
xbmc.output("### [%s] - %s" % (__addonname__,msg,),level=xbmc.LOGDEBUG )
+def sort(dir = False):
+ if dir:
+ xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ),
sortMethod=xbmcplugin.SORT_METHOD_BITRATE )
+ xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ),
sortMethod=xbmcplugin.SORT_METHOD_LABEL )
+ try:
+ xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ),
sortMethod=xbmcplugin.SORT_METHOD_LISTENERS )
+ except: pass
+ else:
+ xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ),
sortMethod=xbmcplugin.SORT_METHOD_BITRATE, label2Mask="%X" )
+ xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ),
sortMethod=xbmcplugin.SORT_METHOD_LABEL, label2Mask="%X" )
+ try:
+ xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ),
sortMethod=xbmcplugin.SORT_METHOD_LISTENERS )
+ except: pass
+ xbmcplugin.endOfDirectory(int(sys.argv[1]))
+
params=get_params()
try:
id = params["id"]
@@ -132,40 +150,35 @@ try:
play = params["play"]
except:
play = "0";
-
+try:
+ srch = params["search"]
+except:
+ srch = "0";
iid = len(id)
iplay = len(play)
iinitial = len(initial)
+isearch=len(srch);
if iid > 1 :
RESOLVE(id)
- xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ),
sortMethod=xbmcplugin.SORT_METHOD_BITRATE, label2Mask="%X" )
- xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ),
sortMethod=xbmcplugin.SORT_METHOD_LABEL, label2Mask="%X" )
- try:
- xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ),
sortMethod=xbmcplugin.SORT_METHOD_LISTENERS )
- except: pass
- xbmcplugin.endOfDirectory(int(sys.argv[1]))
+ sort()
elif iinitial > 1:
if initial == "search":
- search()
- xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ),
sortMethod=xbmcplugin.SORT_METHOD_BITRATE, label2Mask="%X" )
- xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ),
sortMethod=xbmcplugin.SORT_METHOD_LABEL, label2Mask="%X" )
- try:
- xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ),
sortMethod=xbmcplugin.SORT_METHOD_LISTENERS )
- except: pass
- xbmcplugin.endOfDirectory(int(sys.argv[1]))
+ keyboard()
+ sort()
else:
INDEX()
- xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ),
sortMethod=xbmcplugin.SORT_METHOD_BITRATE )
- xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ),
sortMethod=xbmcplugin.SORT_METHOD_LABEL )
- try:
- xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ),
sortMethod=xbmcplugin.SORT_METHOD_LISTENERS )
- except: pass
- xbmcplugin.endOfDirectory(int(sys.argv[1]))
+ sort(True)
+
elif iplay > 1:
PLAY(play,params["tunein"] )
+
+elif isearch > 1:
+ doSearch(srch)
+ sort()
+
else:
u = "%s?initial=search" % (sys.argv[0],)
liz=xbmcgui.ListItem(__language__(30091), iconImage="DefaultFolder.png",
thumbnailImage="")
-----------------------------------------------------------------------
Summary of changes:
plugin.audio.shoutcast/addon.xml | 2 +-
plugin.audio.shoutcast/default.py | 77 +++++++++++++++++++++---------------
2 files changed, 46 insertions(+), 33 deletions(-)
hooks/post-receive
--
Plugins
------------------------------------------------------------------------------
The Next 800 Companies to Lead America's Growth: New Video Whitepaper
David G. Thomson, author of the best-selling book "Blueprint to a
Billion" shares his insights and actions to help propel your
business during the next growth cycle. Listen Now!
http://p.sf.net/sfu/SAP-dev2dev
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons