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,&quot;plugin://plugin.audio.shoutcast/?search=<your search 
query>&quot;)

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

Reply via email to