The branch, eden has been updated
       via  5aa744f5b820b73e6fa65fdf1dc9811d44aa4e85 (commit)
      from  3ed0d5c18271f7c0ffc27ede6fe85321fcc083e4 (commit)

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

commit 5aa744f5b820b73e6fa65fdf1dc9811d44aa4e85
Author: ronie <[email protected]>
Date:   Tue Mar 20 18:00:46 2012 +0100

    [script.globalsearch] -v0.2.2
    
    use title instead of label

diff --git a/script.globalsearch/README.txt b/script.globalsearch/README.txt
index 8d09331..75e5cd5 100644
--- a/script.globalsearch/README.txt
+++ b/script.globalsearch/README.txt
@@ -44,6 +44,7 @@ ListItem.Property(Year)
 ListItem.Property(Trailer)
 ListItem.Property(Playcount)
 ListItem.Property(Rating)
+ListItem.Property(StarRating)
 ListItem.Property(Mpaa)
 ListItem.Property(Director)
 ListItem.Property(Writer)
@@ -67,6 +68,7 @@ ListItem.Property(Plot)
 ListItem.Property(Premiered)
 ListItem.Property(Studio)
 ListItem.Property(Rating)
+ListItem.Property(StarRating)
 ListItem.Property(Playcount)
 ListItem.Property(Path)
 
@@ -87,6 +89,7 @@ ListItem.Icon
 ListItem.Property(Episode)
 ListItem.Property(Plot)
 ListItem.Property(Rating)
+ListItem.Property(StarRating)
 ListItem.Property(Director)
 ListItem.Property(Fanart_Image)
 ListItem.Property(Season)
@@ -150,6 +153,7 @@ ListItem.Property(Album_Description)
 ListItem.Property(Album_Theme)
 ListItem.Property(Album_Style)
 ListItem.Property(Album_Rating)
+ListItem.Property(StarRating)
 ListItem.Property(Album_Type)
 ListItem.Property(Album_Mood)
 ListItem.Property(Year)
@@ -165,6 +169,7 @@ ListItem.Property(Genre)
 ListItem.Property(Comment)
 ListItem.Property(Track)
 ListItem.Property(Rating)
+ListItem.Property(StarRating)
 ListItem.Property(Playcount)
 ListItem.Property(Duration)
 ListItem.Property(Fanart_Image)
@@ -253,6 +258,7 @@ V. Control id's used in script-globalsearch-contextmenu.xml
 
 1001 - First context menu button, the script will handle the visible condition
 1002 - Second context menu button, the script will handle the visible condition
+1003 - Third context menu button, the script will handle the visible condition
 
 
 As always, do not change or remove any of the id's mentioned above!
diff --git a/script.globalsearch/addon.xml b/script.globalsearch/addon.xml
index 410f565..d69537d 100644
--- a/script.globalsearch/addon.xml
+++ b/script.globalsearch/addon.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<addon id="script.globalsearch" name="Global Search" version="0.1.7" 
provider-name="ronie">
+<addon id="script.globalsearch" name="Global Search" version="0.2.2" 
provider-name="ronie">
        <requires>
                <import addon="xbmc.python" version="2.0"/>
                <import addon="script.module.simplejson" version="2.0.10"/>
diff --git a/script.globalsearch/changelog.txt 
b/script.globalsearch/changelog.txt
index 5abe2d7..d4523dc 100644
--- a/script.globalsearch/changelog.txt
+++ b/script.globalsearch/changelog.txt
@@ -1,3 +1,19 @@
+v0.2.2
+- use title instead of label
+
+v0.2.1
+- fix unicode in path issue
+
+v0.2.0
+- add seperate context menu items for find seasons and find episodes
+- add seperate context menu items for find albums and find songs
+
+v0.1.9
+- add starrating
+
+v0.1.8
+- remove unused code
+
 v0.1.7
 - ignore possible encoding errors
 - improve videoresolution matching
diff --git a/script.globalsearch/default.py b/script.globalsearch/default.py
index 9960438..f6f7f73 100644
--- a/script.globalsearch/default.py
+++ b/script.globalsearch/default.py
@@ -6,7 +6,7 @@ __addonversion__ = __addon__.getAddonInfo('version')
 __language__     = __addon__.getLocalizedString
 __cwd__          = __addon__.getAddonInfo('path')
 
-BASE_RESOURCE_PATH = xbmc.translatePath( os.path.join( __cwd__, 'resources', 
'lib' ) )
+BASE_RESOURCE_PATH = xbmc.translatePath( os.path.join( __cwd__, 'resources', 
'lib' ) ).decode('utf-8')
 
 sys.path.append (BASE_RESOURCE_PATH)
 
@@ -17,7 +17,6 @@ if ( __name__ == "__main__" ):
     if ( keyboard.isConfirmed() ):
         searchstring = keyboard.getText()
         import gui
-#        window = "main"
         ui = gui.GUI( "script-globalsearch-main.xml", __cwd__, "Default", 
searchstring=searchstring )
         ui.doModal()
         del ui
diff --git a/script.globalsearch/resources/language/Dutch/strings.xml 
b/script.globalsearch/resources/language/Dutch/strings.xml
index 7d59309..d0fbaf3 100644
--- a/script.globalsearch/resources/language/Dutch/strings.xml
+++ b/script.globalsearch/resources/language/Dutch/strings.xml
@@ -9,11 +9,13 @@
        <string id="32006">Zoek Albums</string>
        <string id="32007">Zoek Nummers</string>
        <string id="32101">Voer zoekterm in</string>
-       <string id="32201">Vind alle seizoenen en afleveringen</string>
-       <string id="32202">Vind alle albums en nummers</string>
        <string id="32203">Open album</string>
        <string id="32204">Seizoen informatie</string>
        <string id="32205">Start trailer</string>
        <string id="32206">Vind album</string>
+       <string id="32207">Vind alle seizoenen</string>
+       <string id="32208">Vind alleafleveringen</string>
+       <string id="32209">Vind alle albums</string>
+       <string id="32210">Vind alle nummers</string>
        <string id="32299">ZOEK OPNIEUW</string>
 </strings>
diff --git a/script.globalsearch/resources/language/English/strings.xml 
b/script.globalsearch/resources/language/English/strings.xml
index 7803ee0..ff2cdd5 100644
--- a/script.globalsearch/resources/language/English/strings.xml
+++ b/script.globalsearch/resources/language/English/strings.xml
@@ -9,12 +9,14 @@
        <string id="32006">Search Abums</string>
        <string id="32007">Search Songs</string>
        <string id="32101">Enter search string</string>
-       <string id="32201">Find all seasons and episodes</string>
-       <string id="32202">Find all albums and songs</string>
        <string id="32203">Browse album</string>
        <string id="32204">Season information</string>
        <string id="32205">Play trailer</string>
        <string id="32206">Find album</string>
+       <string id="32207">Find all seasons</string>
+       <string id="32208">Find all episodes</string>
+       <string id="32209">Find all albums</string>
+       <string id="32210">Find all songs</string>
        <string id="32299">NEW SEARCH</string>
 </strings>
 
diff --git a/script.globalsearch/resources/language/French/strings.xml 
b/script.globalsearch/resources/language/French/strings.xml
index 374d20f..0e13ceb 100644
--- a/script.globalsearch/resources/language/French/strings.xml
+++ b/script.globalsearch/resources/language/French/strings.xml
@@ -9,11 +9,13 @@
        <string id="32006">Recherche Albums</string>
        <string id="32007">Recherche Chansons</string>
        <string id="32101">Entrer Mot de Recherche</string>
-       <string id="32201">Trouver tous les épisodes et saisons</string>
-       <string id="32202">Trouver tous les albums et chansons</string>
        <string id="32203">Parcourir album</string>
        <string id="32204">Information saison</string>
        <string id="32205">Lire bande annonce</string>
        <string id="32206">Trouver album</string>
+       <string id="32207">Trouver tous les saisons</string>
+       <string id="32208">Trouver tous les épisodes</string>
+       <string id="32209">Trouver tous les albums</string>
+       <string id="32210">Trouver tous les chansons</string>
        <string id="32299">NOUVELLE RECHERCHE</string>
 </strings>
diff --git a/script.globalsearch/resources/language/German/strings.xml 
b/script.globalsearch/resources/language/German/strings.xml
index 9b734fc..103e354 100644
--- a/script.globalsearch/resources/language/German/strings.xml
+++ b/script.globalsearch/resources/language/German/strings.xml
@@ -9,11 +9,13 @@
        <string id="32006">Suche Alben</string>
        <string id="32007">Suche Songs</string>
        <string id="32101">Suchbegriff eingeben</string>
-       <string id="32201">Finde alle Staffeln und Episoden</string>
-       <string id="32202">Finde alle Alben und Songs</string>
        <string id="32203">Album durchsuchen</string>
        <string id="32204">Staffel-Informationen</string>
        <string id="32205">Trailer abspielen</string>
        <string id="32206">Finde Album</string>
+       <string id="32207">Finde alle Staffeln</string>
+       <string id="32208">Finde alle Episoden</string>
+       <string id="32209">Finde alle Alben</string>
+       <string id="32210">Finde alle Songs</string>
        <string id="32299">NEUE SUCHE</string>
 </strings>
diff --git a/script.globalsearch/resources/language/Italian/strings.xml 
b/script.globalsearch/resources/language/Italian/strings.xml
index 4abcbac..098d29d 100644
--- a/script.globalsearch/resources/language/Italian/strings.xml
+++ b/script.globalsearch/resources/language/Italian/strings.xml
@@ -9,11 +9,13 @@
        <string id="32006">Ricerca Album</string>
        <string id="32007">Ricerca Canzoni</string>
        <string id="32101">Enter Ricerca string</string>
-       <string id="32201">Trova tutte le stagioni ed episodi</string>
-       <string id="32202">Trova tutti gli album e le canzoni</string>
        <string id="32203">Sfoglia album</string>
        <string id="32204">Info Stagione</string>
        <string id="32205">Riproduci Trailer</string>
        <string id="32206">Trova album</string>
+       <string id="32207">Trova tutte le stagioni</string>
+       <string id="32208">Trova tutte le episodi</string>
+       <string id="32209">Trova tutti gli album</string>
+       <string id="32210">Trova tutti le canzoni</string>
        <string id="32299">Nuova Ricerca</string>
 </strings>
diff --git a/script.globalsearch/resources/language/Portuguese 
(Brazil)/strings.xml b/script.globalsearch/resources/language/Portuguese 
(Brazil)/strings.xml
index cdc08ed..f8ef608 100644
--- a/script.globalsearch/resources/language/Portuguese (Brazil)/strings.xml    
+++ b/script.globalsearch/resources/language/Portuguese (Brazil)/strings.xml    
@@ -9,12 +9,14 @@
        <string id="32006">Procurar Álbuns</string>
        <string id="32007">Procurar Músicas</string>
        <string id="32101">Entre texto que deseja buscar</string>
-       <string id="32201">Encontrar todas as temporadas e episódios</string>
-       <string id="32202">Encontrar todos os álbuns e músicas</string>
        <string id="32203">Navegar álbum</string>
        <string id="32204">Informação da Temporada</string>
        <string id="32205">Play trailer</string>
        <string id="32206">Encontrar álbum</string>
+       <string id="32207">Encontrar todas as temporadas</string>
+       <string id="32208">Encontrar todas os episódios</string>
+       <string id="32209">Encontrar todos os álbuns</string>
+       <string id="32210">Encontrar todos as músicas</string>
        <string id="32299">Nova Busca</string>
 </strings>
 
diff --git a/script.globalsearch/resources/lib/contextmenu.py 
b/script.globalsearch/resources/lib/contextmenu.py
index 7063a78..e7dc493 100644
--- a/script.globalsearch/resources/lib/contextmenu.py
+++ b/script.globalsearch/resources/lib/contextmenu.py
@@ -6,29 +6,24 @@ import xbmcgui
 CANCEL_DIALOG  = ( 9, 10, 92, 216, 247, 257, 275, 61467, 61448, )
 ACTION_CONTEXT_MENU = ( 117, )
 
-
 class GUI( xbmcgui.WindowXMLDialog ):
     def __init__( self, *args, **kwargs ):
         xbmcgui.WindowXMLDialog.__init__( self )
         self.area = kwargs[ "area" ]
         self.labels = kwargs[ "labels" ]
 
-
     def onInit( self ):
         self._show_context_menu()
 
-
     def _show_context_menu( self ):
         self._hide_buttons()
         self._setup_menu()
         self.setFocus( self.getControl( 1001 ) )
 
-
     def _hide_buttons( self ):
-        for button in range( 1001, 1003 ):
+        for button in range( 1001, 1004 ):
             self.getControl( button ).setVisible( False )
 
-
     def _setup_menu( self ):
         button_height = self.getControl( 1001 ).getHeight()
         button_posx, button_posy = self.getControl( 1001 ).getPosition()
@@ -44,10 +39,6 @@ class GUI( xbmcgui.WindowXMLDialog ):
         dialog_middle_height = ( ( len( self.labels ) * ( button_height + 
button_gap ) ) - button_gap ) - 2 * ( dialog_top_height - ( button_posy - 
dialog_top_posy ) )
         dialog_height = dialog_middle_height + dialog_top_height + 
dialog_bottom_height
         dialog_posx = int( float( self.area[ 2 ] - dialog_width ) / 2 ) + 
self.area[ 0 ]
-        if ( dialog_posx + dialog_width > 700 ):
-            dialog_posx = 700 - dialog_width
-        elif ( dialog_posx < 20 ):
-            dialog_posx = 20
         dialog_posy = int( float( self.area[ 3 ] - dialog_height ) / 2 ) + 
self.area[ 1 ]
         button_posx = dialog_posx + button_offsetx
         button_posy = dialog_posy + button_offsety
@@ -61,21 +52,16 @@ class GUI( xbmcgui.WindowXMLDialog ):
             self.getControl( button + 1001 ).setVisible( True )
             self.getControl( button + 1001 ).setEnabled( True )
 
-
     def _close_dialog( self, selection=None ):
         self.selection = selection
         self.close()
 
-
     def onClick( self, controlId ):
         self._close_dialog( controlId - 1001 )
 
-
     def onFocus( self, controlId ):
         pass
 
-
     def onAction( self, action ):
         if ( action.getId() in CANCEL_DIALOG ) or ( action.getId() in 
ACTION_CONTEXT_MENU ):
             self._close_dialog()
-
diff --git a/script.globalsearch/resources/lib/gui.py 
b/script.globalsearch/resources/lib/gui.py
index 81183cd..14d822e 100644
--- a/script.globalsearch/resources/lib/gui.py
+++ b/script.globalsearch/resources/lib/gui.py
@@ -1,6 +1,10 @@
-import sys, re, datetime, simplejson
+import sys, re, datetime
 import xbmc, xbmcgui
 import contextmenu, infodialog
+if sys.version_info < (2, 7):
+    import simplejson
+else:
+    import json as simplejson
 
 __addon__        = sys.modules[ "__main__" ].__addon__
 __addonversion__ = sys.modules[ "__main__" ].__addonversion__
@@ -19,7 +23,6 @@ def log(txt):
 
 class GUI( xbmcgui.WindowXMLDialog ):
     def __init__( self, *args, **kwargs ):
-#        xbmcgui.WindowXMLDialog.__init__( self )
         self.searchstring = kwargs[ "searchstring" ].replace('(', 
'[(]').replace(')', '[)]').replace('+', '[+]')
         log('script version %s started' % __addonversion__)
         self.nextsearch = False
@@ -115,12 +118,12 @@ class GUI( xbmcgui.WindowXMLDialog ):
         listitems = []
         self.getControl( 191 ).setLabel( '[B]' + xbmc.getLocalizedString(342) 
+ '[/B]' )
         count = 0
-        json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": 
"VideoLibrary.GetMovies", "params": {"properties": ["streamdetails", "genre", 
"studio", "year", "tagline", "plot", "plotoutline", "runtime", "fanart", 
"thumbnail", "file", "trailer", "playcount", "rating", "mpaa", "director", 
"writer"], "sort": { "method": "label" } }, "id": 1}')
+        json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": 
"VideoLibrary.GetMovies", "params": {"properties": ["title", "streamdetails", 
"genre", "studio", "year", "tagline", "plot", "plotoutline", "runtime", 
"fanart", "thumbnail", "file", "trailer", "playcount", "rating", "mpaa", 
"director", "writer"], "sort": { "method": "title" } }, "id": 1}')
         json_query = unicode(json_query, 'utf-8', errors='ignore')
         json_response = simplejson.loads(json_query)
         if (json_response['result'] != None) and 
(json_response['result'].has_key('movies')):
             for item in json_response['result']['movies']:
-                movie = item['label']
+                movie = item['title']
                 moviematch = re.search( '.*' + self.searchstring + '.*', 
movie, re.I )
                 if moviematch:
                     count = count + 1
@@ -134,6 +137,7 @@ class GUI( xbmcgui.WindowXMLDialog ):
                     plot = item['plot']
                     outline = item['plotoutline']
                     rating = str(round(float(item['rating']),1))
+                    starrating = 'rating%.1d.png' % round(float(rating)/2)
                     runtime = item['runtime']
                     studio = item['studio']
                     tagline = item['tagline']
@@ -190,6 +194,7 @@ class GUI( xbmcgui.WindowXMLDialog ):
                     listitem.setProperty( "trailer", trailer )
                     listitem.setProperty( "playcount", playcount )
                     listitem.setProperty( "rating", rating )
+                    listitem.setProperty( "starrating", starrating )
                     listitem.setProperty( "mpaa", mpaa )
                     listitem.setProperty( "writer", writer )
                     listitem.setProperty( "director", director )
@@ -212,12 +217,12 @@ class GUI( xbmcgui.WindowXMLDialog ):
         listitems = []
         self.getControl( 191 ).setLabel( '[B]' + 
xbmc.getLocalizedString(20343) + '[/B]' )
         count = 0
-        json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": 
"VideoLibrary.GetTVShows", "params": {"properties": ["genre", "studio", 
"premiered", "plot", "fanart", "thumbnail", "playcount", "year", "mpaa", 
"episode", "rating"], "sort": { "method": "label" } }, "id": 1}')
+        json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": 
"VideoLibrary.GetTVShows", "params": {"properties": ["title", "genre", 
"studio", "premiered", "plot", "fanart", "thumbnail", "playcount", "year", 
"mpaa", "episode", "rating"], "sort": { "method": "title" } }, "id": 1}')
         json_query = unicode(json_query, 'utf-8', errors='ignore')
         json_response = simplejson.loads(json_query)
         if (json_response['result'] != None) and 
(json_response['result'].has_key('tvshows')):
             for item in json_response['result']['tvshows']:
-                tvshow = item['label']
+                tvshow = item['title']
                 tvshowmatch = re.search( '.*' + self.searchstring + '.*', 
tvshow, re.I )
                 if tvshowmatch:
                     count = count + 1
@@ -229,6 +234,7 @@ class GUI( xbmcgui.WindowXMLDialog ):
                     plot = item['plot']
                     premiered = item['premiered']
                     rating = str(round(float(item['rating']),1))
+                    starrating = 'rating%.1d.png' % round(float(rating)/2)
                     studio = item['studio']
                     thumb = item['thumbnail']
                     path = path = 'videodb://2/2/' + str(item['tvshowid']) + 
'/'
@@ -244,6 +250,7 @@ class GUI( xbmcgui.WindowXMLDialog ):
                     listitem.setProperty( "premiered", premiered )
                     listitem.setProperty( "studio", studio )
                     listitem.setProperty( "rating", rating )
+                    listitem.setProperty( "starrating", starrating )
                     listitem.setProperty( "playcount", playcount )
                     listitem.setProperty( "path", path )
                     listitems.append(listitem)
@@ -259,7 +266,7 @@ class GUI( xbmcgui.WindowXMLDialog ):
         listitems = []
         self.getControl( 191 ).setLabel( '[B]' + 
xbmc.getLocalizedString(20343) + '[/B]' )
         count = 0
-        json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": 
"VideoLibrary.GetSeasons", "params": {"properties": ["showtitle", "season", 
"fanart", "thumbnail", "playcount", "episode"], "sort": { "method": "label" }, 
"tvshowid":%s }, "id": 1}' % self.tvshowid)
+        json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": 
"VideoLibrary.GetSeasons", "params": {"properties": ["title", "showtitle", 
"season", "fanart", "thumbnail", "playcount", "episode"], "sort": { "method": 
"title" }, "tvshowid":%s }, "id": 1}' % self.tvshowid)
         json_query = unicode(json_query, 'utf-8', errors='ignore')
         json_response = simplejson.loads(json_query)
         if (json_response['result'] != None) and 
(json_response['result'].has_key('seasons')):
@@ -271,7 +278,7 @@ class GUI( xbmcgui.WindowXMLDialog ):
                     episode = str(item['episode'])
                     fanart = item['fanart']
                     path = 'videodb://2/2/' + self.tvshowid + '/' + 
str(item['season']) + '/'
-                    season = item['label']
+                    season = item['title']
                     playcount = str(item['playcount'])
                     thumb = item['thumbnail']
                     listitem = xbmcgui.ListItem(label=season, 
iconImage='DefaultVideo.png', thumbnailImage=thumb)
@@ -296,9 +303,9 @@ class GUI( xbmcgui.WindowXMLDialog ):
         self.getControl( 191 ).setLabel( '[B]' + 
xbmc.getLocalizedString(20360) + '[/B]' )
         count = 0
         if self.fetch_seasonepisodes == 'true':
-            json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": 
"VideoLibrary.GetEpisodes", "params": { "properties": ["streamdetails", "plot", 
"firstaired", "runtime", "season", "episode", "showtitle", "thumbnail", 
"fanart", "file", "playcount", "director", "rating"], "sort": { "method": 
"label" }, "tvshowid":%s }, "id": 1}' % self.tvshowid)
+            json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": 
"VideoLibrary.GetEpisodes", "params": { "properties": ["title", 
"streamdetails", "plot", "firstaired", "runtime", "season", "episode", 
"showtitle", "thumbnail", "fanart", "file", "playcount", "director", "rating"], 
"sort": { "method": "title" }, "tvshowid":%s }, "id": 1}' % self.tvshowid)
         else:
-            json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": 
"VideoLibrary.GetEpisodes", "params": { "properties": ["streamdetails", "plot", 
"firstaired", "runtime", "season", "episode", "showtitle", "thumbnail", 
"fanart", "file", "playcount", "director", "rating"], "sort": { "method": 
"label" } }, "id": 1}')
+            json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": 
"VideoLibrary.GetEpisodes", "params": { "properties": ["title", 
"streamdetails", "plot", "firstaired", "runtime", "season", "episode", 
"showtitle", "thumbnail", "fanart", "file", "playcount", "director", "rating"], 
"sort": { "method": "title" } }, "id": 1}')
         json_query = unicode(json_query, 'utf-8', errors='ignore')
         json_response = simplejson.loads(json_query)
         if (json_response['result'] != None) and 
(json_response['result'].has_key('episodes')):
@@ -306,13 +313,13 @@ class GUI( xbmcgui.WindowXMLDialog ):
                 if self.fetch_seasonepisodes == 'true':
                     episode = item['showtitle']
                 else:
-                    episode = item['label']
+                    episode = item['title']
                 episodematch = re.search( '.*' + self.searchstring + '.*', 
episode, re.I )
                 if episodematch:
                     count = count + 1
                     if self.fetch_seasonepisodes == 'true':
                         tvshowname = episode
-                        episode = item['label']
+                        episode = item['title']
                     else:
                         tvshowname = item['showtitle']
                     director = item['director']
@@ -323,7 +330,8 @@ class GUI( xbmcgui.WindowXMLDialog ):
                     runtime = item['runtime']
                     premiered = item['firstaired']
                     rating = str(round(float(item['rating']),1))
-                    seasonnumber = "%.2d" % float(item['season'])
+                    starrating = 'rating%.1d.png' % round(float(rating)/2)
+                    seasonnumber = '%.2d' % float(item['season'])
                     playcount = str(item['playcount'])
                     thumb = item['thumbnail']
                     fanart = item['fanart']
@@ -369,6 +377,7 @@ class GUI( xbmcgui.WindowXMLDialog ):
                     listitem.setProperty( "episode", episodenumber )
                     listitem.setProperty( "plot", plot )
                     listitem.setProperty( "rating", rating )
+                    listitem.setProperty( "starrating", starrating )
                     listitem.setProperty( "director", director )
                     listitem.setProperty( "fanart_image", fanart )
                     listitem.setProperty( "season", seasonnumber )
@@ -395,13 +404,12 @@ class GUI( xbmcgui.WindowXMLDialog ):
         listitems = []
         self.getControl( 191 ).setLabel( '[B]' + 
xbmc.getLocalizedString(20389) + '[/B]' )
         count = 0
-        json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": 
"VideoLibrary.GetMusicVideos", "params": {"properties": ["streamdetails", 
"runtime", "genre", "studio", "artist", "album", "year", "plot", "fanart", 
"thumbnail", "file", "playcount", "director"], "sort": { "method": "label" } }, 
"id": 1}')
+        json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": 
"VideoLibrary.GetMusicVideos", "params": {"properties": ["title", 
"streamdetails", "runtime", "genre", "studio", "artist", "album", "year", 
"plot", "fanart", "thumbnail", "file", "playcount", "director"], "sort": { 
"method": "title" } }, "id": 1}')
         json_query = unicode(json_query, 'utf-8', errors='ignore')
         json_response = simplejson.loads(json_query)
         if (json_response['result'] != None) and 
(json_response['result'].has_key('musicvideos')):
             for item in json_response['result']['musicvideos']:
-                log(item)
-                musicvideo = item['label']
+                musicvideo = item['title']
                 musicvideomatch = re.search( '.*' + self.searchstring + '.*', 
musicvideo, re.I )
                 if musicvideomatch:
                     log("match")
@@ -537,9 +545,9 @@ class GUI( xbmcgui.WindowXMLDialog ):
         self.getControl( 191 ).setLabel( '[B]' + xbmc.getLocalizedString(132) 
+ '[/B]' )
         count = 0
         if self.fetch_albumssongs == 'true':
-            json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": 
"AudioLibrary.GetAlbums", "params": {"properties": ["description", 
"albumlabel", "artist", "genre", "year", "thumbnail", "fanart", "theme", 
"type", "mood", "style", "rating"], "sort": { "method": "label" }, 
"artistid":%s }, "id": 1}' % self.artistid)
+            json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": 
"AudioLibrary.GetAlbums", "params": {"properties": ["title", "description", 
"albumlabel", "artist", "genre", "year", "thumbnail", "fanart", "theme", 
"type", "mood", "style", "rating"], "sort": { "method": "title" }, 
"artistid":%s }, "id": 1}' % self.artistid)
         else:
-            json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": 
"AudioLibrary.GetAlbums", "params": {"properties": ["description", 
"albumlabel", "artist", "genre", "year", "thumbnail", "fanart", "theme", 
"type", "mood", "style", "rating"], "sort": { "method": "label" } }, "id": 1}')
+            json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": 
"AudioLibrary.GetAlbums", "params": {"properties": ["title", "description", 
"albumlabel", "artist", "genre", "year", "thumbnail", "fanart", "theme", 
"type", "mood", "style", "rating"], "sort": { "method": "title" } }, "id": 1}')
         json_query = unicode(json_query, 'utf-8', errors='ignore')
         json_response = simplejson.loads(json_query)
         if (json_response['result'] != None) and 
(json_response['result'].has_key('albums')):
@@ -547,13 +555,13 @@ class GUI( xbmcgui.WindowXMLDialog ):
                 if self.fetch_albumssongs == 'true':
                     album = item['artist']
                 else:
-                    album = item['label']
+                    album = item['title']
                 albummatch = re.search( '.*' + self.searchstring + '.*', 
album, re.I )
                 if albummatch:
                     count = count + 1
                     if self.fetch_albumssongs == 'true':
                         artist = album
-                        album = item['label']
+                        album = item['title']
                     else:
                         artist = item['artist']
                         if self.fetch_songalbum == 'true':
@@ -568,7 +576,12 @@ class GUI( xbmcgui.WindowXMLDialog ):
                     mood = item['mood']
                     rating = str(item['rating'])
                     if rating == '48':
-                        rating = ""
+                        rating = ''
+                    if rating != '':
+                        starrating = 'rating%.1d.png' % 
round(float(int(rating))/2)
+                    else:
+                        starrating = 'rating0.png'
+                    log('starrating: %s' % starrating)
                     style = item['style']
                     theme = item['theme']
                     albumtype = item['type']
@@ -584,6 +597,7 @@ class GUI( xbmcgui.WindowXMLDialog ):
                     listitem.setProperty( "album_theme", theme )
                     listitem.setProperty( "album_style", style )
                     listitem.setProperty( "album_rating", rating )
+                    listitem.setProperty( "starrating", starrating )
                     listitem.setProperty( "album_type", albumtype )
                     listitem.setProperty( "album_mood", mood )
                     listitem.setProperty( "year", year )
@@ -602,9 +616,9 @@ class GUI( xbmcgui.WindowXMLDialog ):
         self.getControl( 191 ).setLabel( '[B]' + xbmc.getLocalizedString(134) 
+ '[/B]' )
         count = 0
         if self.fetch_albumssongs == 'true':
-            json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": 
"AudioLibrary.GetSongs", "params": {"properties": ["artist", "album", "genre", 
"duration", "year", "file", "thumbnail", "fanart", "comment", "rating", 
"track", "playcount"], "sort": { "method": "label" }, "artistid":%s }, "id": 
1}' % self.artistid)
+            json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": 
"AudioLibrary.GetSongs", "params": {"properties": ["title", "artist", "album", 
"genre", "duration", "year", "file", "thumbnail", "fanart", "comment", 
"rating", "track", "playcount"], "sort": { "method": "title" }, "artistid":%s 
}, "id": 1}' % self.artistid)
         else:
-            json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": 
"AudioLibrary.GetSongs", "params": {"properties": ["artist", "album", "genre", 
"duration", "year", "file", "thumbnail", "fanart", "comment", "rating", 
"track", "playcount"], "sort": { "method": "label" } }, "id": 1}')
+            json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": 
"AudioLibrary.GetSongs", "params": {"properties": ["title", "artist", "album", 
"genre", "duration", "year", "file", "thumbnail", "fanart", "comment", 
"rating", "track", "playcount"], "sort": { "method": "title" } }, "id": 1}')
         json_query = unicode(json_query, 'utf-8', errors='ignore')
         json_response = simplejson.loads(json_query)
         if (json_response['result'] != None) and 
(json_response['result'].has_key('songs')):
@@ -612,7 +626,7 @@ class GUI( xbmcgui.WindowXMLDialog ):
                 if self.fetch_albumssongs == 'true':
                     song = item['artist']
                 else:
-                    song = item['label']
+                    song = item['title']
                 songmatch = re.search( '.*' + self.searchstring + '.*', song, 
re.I )
                 if songmatch:
                     count = count + 1
@@ -633,6 +647,7 @@ class GUI( xbmcgui.WindowXMLDialog ):
                     track = str(item['track'])
                     playcount = str(item['playcount'])
                     rating = str(int(item['rating'])-48)
+                    starrating = 'rating%.1d.png' % int(rating)
                     year = str(item['year'])
                     listitem = xbmcgui.ListItem(label=song, 
iconImage='DefaultAlbumCover.png', thumbnailImage=thumb)
                     listitem.setProperty( "icon", thumb )
@@ -642,6 +657,7 @@ class GUI( xbmcgui.WindowXMLDialog ):
                     listitem.setProperty( "comment", comment )
                     listitem.setProperty( "track", track )
                     listitem.setProperty( "rating", rating )
+                    listitem.setProperty( "starrating", starrating )
                     listitem.setProperty( "playcount", playcount )
                     listitem.setProperty( "duration", duration )
                     listitem.setProperty( "fanart_image", fanart )
@@ -656,7 +672,7 @@ class GUI( xbmcgui.WindowXMLDialog ):
                 self.setFocus( self.getControl( 181 ) )
                 self.focusset = 'true'
 
-    def _getTvshow_SeasonsEpisodes( self ):
+    def _getTvshow_Seasons( self ):
         self.fetch_seasonepisodes = 'true'
         listitem = self.getControl( 121 ).getSelectedItem()
         self.tvshowid = listitem.getProperty('path')[14:-1]
@@ -665,11 +681,22 @@ class GUI( xbmcgui.WindowXMLDialog ):
         self._hide_controls()
         self._reset_controls()
         self._fetch_seasons()
+        self._check_focus()
+        self.fetch_seasonepisodes = 'false'
+
+    def _getTvshow_Episodes( self ):
+        self.fetch_seasonepisodes = 'true'
+        listitem = self.getControl( 121 ).getSelectedItem()
+        self.tvshowid = listitem.getProperty('path')[14:-1]
+        self.searchstring = 
listitem.getLabel().replace('(','[(]').replace(')','[)]').replace('+','[+]')
+        self._reset_variables()
+        self._hide_controls()
+        self._reset_controls()
         self._fetch_episodes()
         self._check_focus()
         self.fetch_seasonepisodes = 'false'
 
-    def _getArtist_AlbumsSongs( self ):
+    def _getArtist_Albums( self ):
         self.fetch_albumssongs = 'true'
         listitem = self.getControl( 161 ).getSelectedItem()
         self.artistid = listitem.getProperty('path')[12:-1]
@@ -678,6 +705,17 @@ class GUI( xbmcgui.WindowXMLDialog ):
         self._hide_controls()
         self._reset_controls()
         self._fetch_albums()
+        self._check_focus()
+        self.fetch_albumssongs = 'false'
+
+    def _getArtist_Songs( self ):
+        self.fetch_albumssongs = 'true'
+        listitem = self.getControl( 161 ).getSelectedItem()
+        self.artistid = listitem.getProperty('path')[12:-1]
+        self.searchstring = 
listitem.getLabel().replace('(','[(]').replace(')','[)]').replace('+','[+]')
+        self._reset_variables()
+        self._hide_controls()
+        self._reset_controls()
         self._fetch_songs()
         self._check_focus()
         self.fetch_albumssongs = 'false'
@@ -765,8 +803,8 @@ class GUI( xbmcgui.WindowXMLDialog ):
                 labels += ( __language__(32205), )
                 functions += ( self._play_trailer, )
         elif controlId == 121:
-            labels += ( xbmc.getLocalizedString(20351), __language__(32201), )
-            functions += ( self._showInfo, self._getTvshow_SeasonsEpisodes, )
+            labels += ( xbmc.getLocalizedString(20351), __language__(32207), 
__language__(32208), )
+            functions += ( self._showInfo, self._getTvshow_Seasons, 
self._getTvshow_Episodes, )
         elif controlId == 131:
             labels += ( __language__(32204), )
             functions += ( self._showInfo, )
@@ -777,15 +815,15 @@ class GUI( xbmcgui.WindowXMLDialog ):
             labels += ( xbmc.getLocalizedString(20393), )
             functions += ( self._showInfo, )
         elif controlId == 161:
-            labels += ( xbmc.getLocalizedString(21891), __language__(32202), )
-            functions += ( self._showInfo, self._getArtist_AlbumsSongs, )
+            labels += ( xbmc.getLocalizedString(21891), __language__(32209), 
__language__(32210), )
+            functions += ( self._showInfo, self._getArtist_Albums, 
self._getArtist_Songs, )
         elif controlId == 171:
             labels += ( xbmc.getLocalizedString(13351), __language__(32203), )
             functions += ( self._showInfo, self._browse_album, )
         elif controlId == 181:
             labels += ( xbmc.getLocalizedString(658), __language__(32206), )
             functions += ( self._showInfo, self._getSong_Album, )
-        context_menu = contextmenu.GUI( "script-globalsearch-contextmenu.xml" 
, __cwd__, "Default", area=( x, y, w, h, ), labels=labels )
+        context_menu = contextmenu.GUI( "script-globalsearch-contextmenu.xml" 
, __cwd__, "Default", area=( 0, 0, 1280, 720, ), labels=labels )
         context_menu.doModal()
         if context_menu.selection is not None:
             functions[ context_menu.selection ]()
diff --git a/script.globalsearch/resources/lib/infodialog.py 
b/script.globalsearch/resources/lib/infodialog.py
index 84ed620..373681f 100644
--- a/script.globalsearch/resources/lib/infodialog.py
+++ b/script.globalsearch/resources/lib/infodialog.py
@@ -6,19 +6,16 @@ __language__   = sys.modules[ "__main__" ].__language__
 CANCEL_DIALOG  = ( 9, 10, 92, 216, 247, 257, 275, 61467, 61448, )
 ACTION_SHOW_INFO = ( 11, )
 
-
 class GUI( xbmcgui.WindowXMLDialog ):
     def __init__( self, *args, **kwargs ):
         xbmcgui.WindowXMLDialog.__init__( self )
         self.listitem = kwargs[ "listitem" ]
         self.content = kwargs[ "content" ]
 
-
     def onInit( self ):
         self._hide_controls()
         self._show_info()
 
-
     def _hide_controls( self ):
         self.getControl( 110 ).setVisible( False )
         self.getControl( 120 ).setVisible( False )
@@ -32,7 +29,6 @@ class GUI( xbmcgui.WindowXMLDialog ):
         self.getControl( 192 ).setVisible( False )
         self.getControl( 193 ).setVisible( False )
 
-
     def _show_info( self ):
         self.getControl( 100 ).addItem( self.listitem )
         if self.content == 'movies':
@@ -82,12 +78,10 @@ class GUI( xbmcgui.WindowXMLDialog ):
             self.getControl( 192 ).setVisible( True )
         self.setFocus( self.getControl( 191 ) )
 
-
     def _close_dialog( self, action=None ):
         self.action = action
         self.close()
 
-
     def onClick( self, controlId ):
         if controlId == 191:
             self._close_dialog()
@@ -114,12 +108,9 @@ class GUI( xbmcgui.WindowXMLDialog ):
             if self.content == 'albums':
                 self._close_dialog( 'browse_album' )
 
-
     def onFocus( self, controlId ):
         pass
 
-
     def onAction( self, action ):
         if ( action.getId() in CANCEL_DIALOG ) or ( action.getId() in 
ACTION_SHOW_INFO ):
             self._close_dialog()
-
diff --git 
a/script.globalsearch/resources/skins/Default/720p/script-globalsearch-contextmenu.xml
 
b/script.globalsearch/resources/skins/Default/720p/script-globalsearch-contextmenu.xml
index f7f0b03..be859d6 100644
--- 
a/script.globalsearch/resources/skins/Default/720p/script-globalsearch-contextmenu.xml
+++ 
b/script.globalsearch/resources/skins/Default/720p/script-globalsearch-contextmenu.xml
@@ -4,8 +4,8 @@
        <animation effect="fade" time="300">WindowClose</animation>
        <coordinates>
                <system>1</system>
-               <posx>110</posx>
-               <posy>270</posy>
+               <posx>0</posx>
+               <posy>0</posy>
        </coordinates>
        <controls>
                <control type="image" id="997">
@@ -40,7 +40,7 @@
                        <texturenofocus 
border="5">button-nofocus.png</texturenofocus>
                        <onleft>1001</onleft>
                        <onright>1001</onright>
-                       <onup>1002</onup>
+                       <onup>1003</onup>
                        <ondown>1002</ondown>
                </control>
                <control type="button" id="1002">
@@ -57,6 +57,22 @@
                        <onleft>1002</onleft>
                        <onright>1002</onright>
                        <onup>1001</onup>
+                       <ondown>1003</ondown>
+               </control>
+               <control type="button" id="1003">
+                       <posx>20</posx>
+                       <posy>0</posy>
+                       <width>320</width>
+                       <height>38</height>
+                       <font>font-20</font>
+                       <align>center</align>
+                       <textcolor>88FFFFFF</textcolor>
+                       <focusedcolor>FFFFFFFF</focusedcolor>
+                       <texturefocus border="5">button-focus.png</texturefocus>
+                       <texturenofocus 
border="5">button-nofocus.png</texturenofocus>
+                       <onleft>1003</onleft>
+                       <onright>1003</onright>
+                       <onup>1002</onup>
                        <ondown>1001</ondown>
                </control>
        </controls>
diff --git 
a/script.globalsearch/resources/skins/Default/720p/script-globalsearch-infodialog.xml
 
b/script.globalsearch/resources/skins/Default/720p/script-globalsearch-infodialog.xml
index fbb4449..8f823c7 100644
--- 
a/script.globalsearch/resources/skins/Default/720p/script-globalsearch-infodialog.xml
+++ 
b/script.globalsearch/resources/skins/Default/720p/script-globalsearch-infodialog.xml
@@ -54,7 +54,7 @@
                                <align>center</align>
                                <aligny>center</aligny>
                                <textcolor>FFFFFFFF</textcolor>
-                               <shadowcolor>00000000</shadowcolor>
+                               <shadowcolor>FF000000</shadowcolor>
                                
<label>$INFO[Container(100).ListItem.Label]</label>
                        </control>
                        <control type="image">
diff --git 
a/script.globalsearch/resources/skins/Default/720p/script-globalsearch-main.xml 
b/script.globalsearch/resources/skins/Default/720p/script-globalsearch-main.xml
index ef4b664..55147c3 100644
--- 
a/script.globalsearch/resources/skins/Default/720p/script-globalsearch-main.xml
+++ 
b/script.globalsearch/resources/skins/Default/720p/script-globalsearch-main.xml
@@ -645,7 +645,7 @@
                                                <height>118</height>
                                                <texture 
border="2">blue.png</texture>
                                                
<colordiffuse>4FFFFFFF</colordiffuse>
-                                               
<visible>Control.HasFocus(111)</visible>
+                                               
<visible>Control.HasFocus(131)</visible>
                                        </control>
                                        <control type="list" id="131">
                                                <posx>10</posx>

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

Summary of changes:
 script.globalsearch/README.txt                     |    6 +
 script.globalsearch/addon.xml                      |    2 +-
 script.globalsearch/changelog.txt                  |   16 +++
 script.globalsearch/default.py                     |    3 +-
 .../resources/language/Dutch/strings.xml           |    6 +-
 .../resources/language/English/strings.xml         |    6 +-
 .../resources/language/French/strings.xml          |    6 +-
 .../resources/language/German/strings.xml          |    6 +-
 .../resources/language/Italian/strings.xml         |    6 +-
 .../language/Portuguese (Brazil)/strings.xml       |    6 +-
 script.globalsearch/resources/lib/contextmenu.py   |   16 +---
 script.globalsearch/resources/lib/gui.py           |  100 ++++++++++++++------
 script.globalsearch/resources/lib/infodialog.py    |    9 --
 .../720p/script-globalsearch-contextmenu.xml       |   22 ++++-
 .../720p/script-globalsearch-infodialog.xml        |    2 +-
 .../Default/720p/script-globalsearch-main.xml      |    2 +-
 16 files changed, 139 insertions(+), 75 deletions(-)


hooks/post-receive
-- 
Scripts

------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons

Reply via email to