The branch, eden-pre has been updated
       via  d72d0d4b58af8abb85eacfa7bfb299861a5ff949 (commit)
      from  0bc3e337789fda732090e7d387a7c37169e6ea48 (commit)

- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=d72d0d4b58af8abb85eacfa7bfb299861a5ff949

commit d72d0d4b58af8abb85eacfa7bfb299861a5ff949
Author: ronie <[email protected]>
Date:   Fri Nov 18 21:58:39 2011 +0100

    [script.favourites] -v3.1.0
    
    added script dialog for setting favourites

diff --git a/script.favourites/addon.xml b/script.favourites/addon.xml
index c6b19e9..52937d6 100644
--- a/script.favourites/addon.xml
+++ b/script.favourites/addon.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<addon id="script.favourites" name="Favourites script" version="2.0.1" 
provider-name="CF2009, ronie">
+<addon id="script.favourites" name="Favourites script" version="3.1.0" 
provider-name="CF2009, ronie, `Black">
        <requires>
                <import addon="xbmc.python" version="2.0"/>
        </requires>
diff --git a/script.favourites/changelog.txt b/script.favourites/changelog.txt
index 0355998..419bd01 100644
--- a/script.favourites/changelog.txt
+++ b/script.favourites/changelog.txt
@@ -1,3 +1,9 @@
+v3.1.0
+- added clear setting
+
+v3.0.0
+- added set favourites dialog
+
 v2.0.1
 - fixed: don't add return before each bracket
 
diff --git a/script.favourites/default.py b/script.favourites/default.py
index b0ffc7e..682f4e8 100644
--- a/script.favourites/default.py
+++ b/script.favourites/default.py
@@ -2,8 +2,13 @@ import os, sys
 import xbmc, xbmcgui, xbmcaddon
 from xml.dom.minidom import parseString
 
-__addon__ = xbmcaddon.Addon()
+__addon__        = xbmcaddon.Addon()
 __addonversion__ = __addon__.getAddonInfo('version')
+__cwd__          = __addon__.getAddonInfo('path')
+__language__  = __addon__.getLocalizedString
+
+RESOURCES_PATH = xbmc.translatePath( os.path.join( __cwd__, 'resources' ) )
+sys.path.append( os.path.join( RESOURCES_PATH, "lib" ) )
 
 def log(txt):
     message = 'script.favourites: %s' % txt
@@ -12,11 +17,21 @@ def log(txt):
 class Main:
     def __init__( self ):
         self.WINDOW = xbmcgui.Window( 10000 )
+        self._parse_argv()
         self._clear_properties()
         self._read_file()
         self._parse_String()
         self._fetch_favourites()
         self.doc.unlink()
+        
+    def _parse_argv( self ):
+        try:
+            params = dict( arg.split( "=" ) for arg in sys.argv[ 1 ].split( 
"&" ) )
+        except:
+            params = {}
+        log( "### params: %s" % params )
+        self.PROPERTY = params.get( "property", "" )
+        self.PLAY = params.get( "playlists", False )
 
     def _clear_properties( self ):
         for count in range( 20 ):
@@ -42,23 +57,70 @@ class Main:
         self.favourites = self.doc.documentElement.getElementsByTagName ( 
'favourite' )
 
     def _fetch_favourites( self ):
-        # Go through each favourites
-        count = 0
-        for self.doc in self.favourites:
-            self.fav_path = self.doc.childNodes [ 0 ].nodeValue
-            # add return 
-            if 'RunScript' not in self.fav_path: 
-                self.fav_path = self.fav_path.rstrip(')')
-                self.fav_path = self.fav_path + ',return)'
-            if (sys.argv[ 1 ] == 'playlists=play'):
-                if 'playlists/music' in self.fav_path: self.fav_path = 
self.fav_path.replace( 'ActivateWindow(10502,', 'PlayMedia(' )
-                if 'playlists/video' in self.fav_path: self.fav_path = 
self.fav_path.replace( 'ActivateWindow(10025,', 'PlayMedia(' )
-            # set properties
-            self.WINDOW.setProperty( "favourite.%d.path" % ( count + 1, ) , 
self.fav_path )
-            self.WINDOW.setProperty( "favourite.%d.name" % ( count + 1, ) , 
self.doc.attributes [ 'name' ].nodeValue )
-            try: self.WINDOW.setProperty( "favourite.%d.thumb" % ( count + 1, 
) , self.doc.attributes [ 'thumb' ].nodeValue )
-            except: pass
-            count = count+1
+        # If no property set
+        if (self.PROPERTY == ""):
+            # Go through each favourites
+            count = 0
+            for self.doc in self.favourites:
+                self.fav_path = self.doc.childNodes [ 0 ].nodeValue
+                # add return 
+                if 'RunScript' not in self.fav_path: 
+                    self.fav_path = self.fav_path.rstrip(')')
+                    self.fav_path = self.fav_path + ',return)'
+                if (self.PLAY):
+                    if 'playlists/music' in self.fav_path: self.fav_path = 
self.fav_path.replace( 'ActivateWindow(10502,', 'PlayMedia(' )
+                    if 'playlists/video' in self.fav_path: self.fav_path = 
self.fav_path.replace( 'ActivateWindow(10025,', 'PlayMedia(' )
+                # set properties
+                self.WINDOW.setProperty( "favourite.%d.path" % ( count + 1, ) 
, self.fav_path )
+                self.WINDOW.setProperty( "favourite.%d.name" % ( count + 1, ) 
, self.doc.attributes [ 'name' ].nodeValue )
+                try: self.WINDOW.setProperty( "favourite.%d.thumb" % ( count + 
1, ) , self.doc.attributes [ 'thumb' ].nodeValue )
+                except: pass
+                count = count+1
+        # Else show select dialog
+        else:
+            self.favList = [__language__(451)]
+            self.favProperties = []
+            for favourite in self.favourites:
+                fav_path = favourite.childNodes [ 0 ].nodeValue
+                fav_play = False
+                # add return 
+                if 'RunScript' not in fav_path: 
+                    fav_path = fav_path.rstrip(')')
+                    fav_path = fav_path + ',return)'
+                if 'playlists/music' in fav_path or 'playlists/video' in 
fav_path:
+                    fav_play = True
+                self.favList.append(favourite.attributes[ 'name' ].nodeValue)
+                try: fav_thumb = favourite.attributes[ 'thumb' ].nodeValue
+                except: fav_thumb = ""
+                self.favProperties.append([fav_path, fav_thumb, fav_play])
+            self._show_dialog()
+  
+    def _show_dialog(self):
+        if len(self.favList) > 0:
+            dialog = xbmcgui.Dialog()
+            try: retIndex = dialog.select(xbmc.getLocalizedString(1036), 
self.favList)
+            except: retIndex = -1
+            if retIndex > 0:
+                fav_path = self.favProperties[retIndex-1][0]
+                if (self.favProperties[retIndex-1][2]):
+                    retBool = dialog.yesno(xbmc.getLocalizedString(559), 
__language__(450))
+                    if retBool:
+                        if 'playlists/music' in fav_path:
+                            fav_path = fav_path.replace( 
'ActivateWindow(10502,', 'PlayMedia(' )
+                        else:
+                            fav_path = fav_path.replace( 
'ActivateWindow(10025,', 'PlayMedia(' )  
+                # sleep to ensure smooth open/close animations
+                xbmc.sleep(300)
+                xbmc.executebuiltin( 'Skin.SetString(%s,%s)' % ( '%s.%s' % ( 
self.PROPERTY, "Path", ), fav_path.encode('utf-8'), ) )
+                xbmc.executebuiltin( 'Skin.SetString(%s,%s)' % ( '%s.%s' % ( 
self.PROPERTY, "Label", ), self.favList[retIndex].encode('utf-8'), ) )
+                xbmc.executebuiltin( 'Skin.SetString(%s,%s)' % ( '%s.%s' % ( 
self.PROPERTY, "Icon", ), self.favProperties[retIndex-1][1].encode('utf-8'), ) )
+            elif retIndex == 0:
+                # sleep to ensure smooth open/close animations
+                xbmc.sleep(300)
+                xbmc.executebuiltin( 'Skin.Reset(%s)' % '%s.%s' % ( 
self.PROPERTY, "Path", ) )
+                xbmc.executebuiltin( 'Skin.Reset(%s)' % '%s.%s' % ( 
self.PROPERTY, "Label", ) )
+                xbmc.executebuiltin( 'Skin.Reset(%s)' % '%s.%s' % ( 
self.PROPERTY, "Icon", ) )
+
 
 if ( __name__ == "__main__" ):
         log('script version %s started' % __addonversion__)

-----------------------------------------------------------------------

Summary of changes:
 script.favourites/addon.xml                        |    2 +-
 script.favourites/changelog.txt                    |    6 +
 script.favourites/default.py                       |   98 ++++++++++++++++----
 .../resources/language/English/strings.xml         |    5 +
 .../resources/language/German/strings.xml          |    5 +
 5 files changed, 97 insertions(+), 19 deletions(-)
 create mode 100644 script.favourites/resources/language/English/strings.xml
 create mode 100644 script.favourites/resources/language/German/strings.xml


hooks/post-receive
-- 
Scripts

------------------------------------------------------------------------------
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

Reply via email to