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