The branch, frodo has been updated
       via  28725c68e7fba0986ea7eb3a5f84667ced0b998d (commit)
      from  2559e0d9a5a734345f0bd4550fa7ba9f58511f4f (commit)

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

commit 28725c68e7fba0986ea7eb3a5f84667ced0b998d
Author: M. Kaijser <mcm.kaij...@gmail.com>
Date:   Fri Mar 29 13:31:04 2013 +0100

    [service.skin.widgets] 0.0.25

diff --git a/service.skin.widgets/addon.xml b/service.skin.widgets/addon.xml
index ad0cc04..9966bfa 100644
--- a/service.skin.widgets/addon.xml
+++ b/service.skin.widgets/addon.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<addon id="service.skin.widgets" name="Skin Widgets" version="0.0.24" 
provider-name="Martijn">
+<addon id="service.skin.widgets" name="Skin Widgets" version="0.0.25" 
provider-name="Martijn|phil65">
     <requires>
         <import addon="xbmc.addon" version="12.0.0"/>
         <import addon="xbmc.json" version="6.0.0"/>
@@ -60,7 +60,9 @@
         <disclaimer 
lang="zh">访问wiki页或XBMC论坛了解更多信息</disclaimer>
         <platform>all</platform>
         <license>GNU GENERAL PUBLIC LICENSE. Version 2, June 1991</license>
+        <website></website>
         <forum>http://forum.xbmc.org/showthread.php?tid=142389</forum>
         <source>https://github.com/XBMC-Addons/service.skin.widgets</source>
+        <email></email>
     </extension>
 </addon>
diff --git a/service.skin.widgets/changelog.txt 
b/service.skin.widgets/changelog.txt
index 6810cd5..f6a5336 100644
--- a/service.skin.widgets/changelog.txt
+++ b/service.skin.widgets/changelog.txt
@@ -1,3 +1,25 @@
+v0.0.25
+- Added *Episode.%d.Art(tvshow.characterart)
+- Added *Episode.%d.mpaa
+- Added *Movies.%d.OriginalTitle
+- Added *MusicVideo.d%.DBID
+- Added *MusicVideo.d%.Resume
+- Added *MusicVideo.d%.PercentPlayed
+- Added *MusicVideo.d%.Watched
+- Added *Albums.d%.Theme
+- Added *Albums.d%.Mood
+- Added *Albums.d%.Style
+- Added *Albums.d%.Type
+- Added *Artist.d%.Born
+- Added *Artist.d%.Died
+- Added *Artist.d%.Formed
+- Added *Artist.d%.Disbanded
+- Added *Artist.d%.YearsActive
+- Added *Artist.d%.Style
+- Added *Artist.d%.Mood
+- Added *Artist.d%.Instrument
+- Added *Artist.d%.
+
 v0.0.24
 - Added *Episode.%d.Watched
 - Added *Episode.%d.DBID
diff --git a/service.skin.widgets/default.py b/service.skin.widgets/default.py
index 0d41ed9..5c1203e 100644
--- a/service.skin.widgets/default.py
+++ b/service.skin.widgets/default.py
@@ -148,7 +148,7 @@ class Main:
             
     def _fetch_movies(self, request):
         if not xbmc.abortRequested:
-            json_string = '{"jsonrpc": "2.0",  "id": 1, "method": 
"VideoLibrary.GetMovies", "params": {"properties": ["title", "playcount", 
"year", "genre", "studio", "country", "tagline", "plot", "runtime", "file", 
"plotoutline", "lastplayed", "trailer", "rating", "resume", "art", 
"streamdetails", "mpaa", "director"], "limits": {"end": %d},' %self.LIMIT
+            json_string = '{"jsonrpc": "2.0",  "id": 1, "method": 
"VideoLibrary.GetMovies", "params": {"properties": ["title", "originaltitle", 
"playcount", "year", "genre", "studio", "country", "tagline", "plot", 
"runtime", "file", "plotoutline", "lastplayed", "trailer", "rating", "resume", 
"art", "streamdetails", "mpaa", "director"], "limits": {"end": %d},' %self.LIMIT
             if request == 'RecommendedMovie':
                 json_query = xbmc.executeJSONRPC('%s "sort": {"order": 
"descending", "method": "lastplayed"}, "filter": {"field": "inprogress", 
"operator": "true", "value": ""}}}' %json_string)
             elif request == 'RecentMovie' and self.RECENTITEMS_UNPLAYED:
@@ -187,6 +187,7 @@ class Main:
                                                item['streamdetails'])
                     self.WINDOW.setProperty("%s.%d.DBID"           % (request, 
count), str(item.get('movieid')))
                     self.WINDOW.setProperty("%s.%d.Title"           % 
(request, count), item['title'])
+                    self.WINDOW.setProperty("%s.%d.OriginalTitle"   % 
(request, count), item['originaltitle'])
                     self.WINDOW.setProperty("%s.%d.Year"            % 
(request, count), str(item['year']))
                     self.WINDOW.setProperty("%s.%d.Genre"           % 
(request, count), " / ".join(item['genre']))
                     self.WINDOW.setProperty("%s.%d.Studio"          % 
(request, count), item['studio'][0])
@@ -222,7 +223,7 @@ class Main:
     def _fetch_tvshows_recommended(self, request):
         if not xbmc.abortRequested:
             # First unplayed episode of recent played tvshows
-            json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": 
"VideoLibrary.GetTVShows", "params": {"properties": ["title", "studio", "file", 
"art"], "sort": {"order": "descending", "method": "lastplayed"}, "filter": 
{"field": "inprogress", "operator": "true", "value": ""}, "limits": {"end": 
%d}}, "id": 1}' %self.LIMIT)
+            json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": 
"VideoLibrary.GetTVShows", "params": {"properties": ["title", "studio", "mpaa", 
"file", "art"], "sort": {"order": "descending", "method": "lastplayed"}, 
"filter": {"field": "inprogress", "operator": "true", "value": ""}, "limits": 
{"end": %d}}, "id": 1}' %self.LIMIT)
             json_query = unicode(json_query, 'utf-8', errors='ignore')
             json_query = simplejson.loads(json_query)
             if json_query.has_key('result') and 
json_query['result'].has_key('tvshows'):
@@ -279,8 +280,10 @@ class Main:
                     self.WINDOW.setProperty("%s.%d.Art(tvshow.clearlogo)"% 
(request, count), art2.get('tvshow.clearlogo',''))
                     self.WINDOW.setProperty("%s.%d.Art(tvshow.clearart)" % 
(request, count), art2.get('tvshow.clearart',''))
                     self.WINDOW.setProperty("%s.%d.Art(tvshow.landscape)"% 
(request, count), art2.get('tvshow.landscape',''))
+                    self.WINDOW.setProperty("%s.%d.Art(tvshow.characterart)"% 
(request, count), art2.get('tvshow.characterart',''))
                     #self.WINDOW.setProperty("%s.%d.Art(season.poster)" % 
(request, count), seasonthumb)
                     self.WINDOW.setProperty("%s.%d.Studio"              % 
(request, count), item['studio'][0])
+                    self.WINDOW.setProperty("%s.%d.mpaa"                % 
(request, count), item['mpaa'])
                     self.WINDOW.setProperty("%s.%d.Resume"              % 
(request, count), resume)
                     self.WINDOW.setProperty("%s.%d.PercentPlayed"       % 
(request, count), played)
                     self.WINDOW.setProperty("%s.%d.Watched"             % 
(request, count), watched)
@@ -367,6 +370,7 @@ class Main:
                     self.WINDOW.setProperty("%s.%d.Art(tvshow.clearlogo)"% 
(request, count), art.get('tvshow.clearlogo',''))
                     self.WINDOW.setProperty("%s.%d.Art(tvshow.clearart)" % 
(request, count), art.get('tvshow.clearart',''))
                     self.WINDOW.setProperty("%s.%d.Art(tvshow.landscape)"% 
(request, count), art.get('tvshow.landscape',''))
+                    self.WINDOW.setProperty("%s.%d.Art(tvshow.characterart)"% 
(request, count), art.get('tvshow.characterart',''))
                     self.WINDOW.setProperty("%s.%d.Resume"              % 
(request, count), resume)
                     self.WINDOW.setProperty("%s.%d.PercentPlayed"       % 
(request, count), played)
                     self.WINDOW.setProperty("%s.%d.Watched"             % 
(request, count), watched)
@@ -393,7 +397,7 @@ class Main:
 
     def _fetch_musicvideo(self, request):
         if not xbmc.abortRequested:
-            json_string = '{"jsonrpc": "2.0",  "id": 1, "method": 
"VideoLibrary.GetMusicVideos", "params": {"properties": ["title", "artist", 
"playcount", "year", "plot", "genre", "runtime", "fanart", "thumbnail", "file", 
"streamdetails"],  "limits": {"end": %d},' %self.LIMIT
+            json_string = '{"jsonrpc": "2.0",  "id": 1, "method": 
"VideoLibrary.GetMusicVideos", "params": {"properties": ["title", "artist", 
"playcount", "year", "plot", "genre", "runtime", "fanart", "thumbnail", "file", 
"streamdetails", "resume"],  "limits": {"end": %d},' %self.LIMIT
             if request == 'RecommendedMusicVideo':
                 json_query = xbmc.executeJSONRPC('%s "sort": {"order": 
"descending", "method": "playcount" }}}'  %json_string)
             elif request == 'RecentMusicVideo':
@@ -407,10 +411,21 @@ class Main:
                 count = 0
                 for item in json_query['result']['musicvideos']:
                     count += 1
+                    if (item['resume']['position'] and 
item['resume']['total'])> 0:
+                        resume = "true"
+                        played = '%s%%'%int((float(item['resume']['position']) 
/ float(item['resume']['total'])) * 100)
+                    else:
+                        resume = "false"
+                        played = '0%'
+                    if item['playcount'] >= 1:
+                        watched = "true"
+                    else:
+                        watched = "false"
                     play = 'XBMC.RunScript(' + __addonid__ + ',musicvideoid=' 
+ str(item.get('musicvideoid')) + ')'
                     path = media_path(item['file'])
                     streaminfo = 
media_streamdetails(item['file'].encode('utf-8').lower(),
                                                      item['streamdetails'])
+                    self.WINDOW.setProperty("%s.%d.DBID"           % (request, 
count), str(item.get('musicvideoid')))
                     self.WINDOW.setProperty("%s.%d.Title"           % 
(request, count), item['title'])
                     self.WINDOW.setProperty("%s.%d.Artist"          % 
(request, count), " / ".join(item['artist']))
                     self.WINDOW.setProperty("%s.%d.Year"            % 
(request, count), str(item['year']))
@@ -423,6 +438,9 @@ class Main:
                     self.WINDOW.setProperty("%s.%d.Art(fanart)"     % 
(request, count), item['fanart'])
                     self.WINDOW.setProperty("%s.%d.File"            % 
(request, count), item['file'])
                     self.WINDOW.setProperty("%s.%d.Path"            % 
(request, count), path)
+                    self.WINDOW.setProperty("%s.%d.Resume"          % 
(request, count), resume)
+                    self.WINDOW.setProperty("%s.%d.PercentPlayed"   % 
(request, count), played)
+                    self.WINDOW.setProperty("%s.%d.Watched"         % 
(request, count), watched)
                     self.WINDOW.setProperty("%s.%d.Play"            % 
(request, count), play)
                     self.WINDOW.setProperty("%s.%d.VideoCodec"      % 
(request, count), streaminfo['videocodec'])
                     self.WINDOW.setProperty("%s.%d.VideoResolution" % 
(request, count), streaminfo['videoresolution'])
@@ -433,7 +451,7 @@ class Main:
 
     def _fetch_albums(self, request):
         if not xbmc.abortRequested:
-            json_string = '{"jsonrpc": "2.0", "id": 1, "method": 
"AudioLibrary.GetAlbums", "params": {"properties": ["title", "description", 
"albumlabel", "artist", "genre", "year", "thumbnail", "fanart", "rating", 
"playcount"], "limits": {"end": %d},' %self.LIMIT
+            json_string = '{"jsonrpc": "2.0", "id": 1, "method": 
"AudioLibrary.GetAlbums", "params": {"properties": ["title", "description", 
"albumlabel", "theme", "mood", "style", "type", "artist", "genre", "year", 
"thumbnail", "fanart", "rating", "playcount"], "limits": {"end": %d},' 
%self.LIMIT
             if request == 'RecommendedAlbum':
                 json_query = xbmc.executeJSONRPC('%s "sort": {"order": 
"descending", "method": "playcount" }}}' %json_string)
             elif request == 'RecentAlbum':
@@ -455,6 +473,10 @@ class Main:
                     self.WINDOW.setProperty("%s.%d.Label"       % (request, 
count), item['title']) #needs to be removed
                     self.WINDOW.setProperty("%s.%d.Artist"      % (request, 
count), " / ".join(item['artist']))
                     self.WINDOW.setProperty("%s.%d.Genre"       % (request, 
count), " / ".join(item['genre']))
+                    self.WINDOW.setProperty("%s.%d.Theme"       % (request, 
count), " / ".join(item['theme']))
+                    self.WINDOW.setProperty("%s.%d.Mood"        % (request, 
count), " / ".join(item['mood']))
+                    self.WINDOW.setProperty("%s.%d.Style"       % (request, 
count), " / ".join(item['style']))
+                    self.WINDOW.setProperty("%s.%d.Type"        % (request, 
count), " / ".join(item['type']))
                     self.WINDOW.setProperty("%s.%d.Year"        % (request, 
count), str(item['year']))
                     self.WINDOW.setProperty("%s.%d.RecordLabel" % (request, 
count), item['albumlabel'])
                     self.WINDOW.setProperty("%s.%d.Description" % (request, 
count), item['description'])
@@ -469,7 +491,7 @@ class Main:
     def _fetch_artist(self, request):
         if not xbmc.abortRequested:
             # Random artist
-            json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": 
"AudioLibrary.GetArtists", "params": {"properties": ["genre", "description", 
"fanart", "thumbnail"], "sort": {"method": "random"}, "limits": {"end": %d}}, 
"id": 1}'  %self.LIMIT)
+            json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": 
"AudioLibrary.GetArtists", "params": {"properties": ["genre", "description", 
"mood", "style", "born", "died", "formed", "disbanded", "yearsactive", 
"instrument", "fanart", "thumbnail"], "sort": {"method": "random"}, "limits": 
{"end": %d}}, "id": 1}'  %self.LIMIT)
             json_query = unicode(json_query, 'utf-8', errors='ignore')
             json_query = simplejson.loads(json_query)
             if json_query.has_key('result') and 
json_query['result'].has_key('artists'):
@@ -485,6 +507,14 @@ class Main:
                     self.WINDOW.setProperty("%s.%d.Art(thumb)"  % (request, 
count), item['thumbnail'])
                     self.WINDOW.setProperty("%s.%d.Art(fanart)" % (request, 
count), item['fanart'])
                     self.WINDOW.setProperty("%s.%d.Description" % (request, 
count), item['description'])
+                    self.WINDOW.setProperty("%s.%d.Born"        % (request, 
count), item['born'])
+                    self.WINDOW.setProperty("%s.%d.Died"        % (request, 
count), item['died'])
+                    self.WINDOW.setProperty("%s.%d.Formed"      % (request, 
count), item['formed'])
+                    self.WINDOW.setProperty("%s.%d.Disbanded"   % (request, 
count), item['disbanded'])
+                    self.WINDOW.setProperty("%s.%d.YearsActive" % (request, 
count), " / ".join(item['yearsactive']))
+                    self.WINDOW.setProperty("%s.%d.Style"       % (request, 
count), " / ".join(item['style']))
+                    self.WINDOW.setProperty("%s.%d.Mood"        % (request, 
count), " / ".join(item['mood']))
+                    self.WINDOW.setProperty("%s.%d.Instrument"  % (request, 
count), " / ".join(item['instrument']))
                     self.WINDOW.setProperty("%s.%d.LibraryPath" % (request, 
count), path)
 
     def _fetch_song(self, request):
@@ -643,8 +673,10 @@ def media_streamdetails(filename, streamdetails):
             info['videoresolution'] = "540"
         elif (video[0]['width'] <= 1280 and video[0]['height'] <= 720):
             info['videoresolution'] = "720"
-        else:
+        elif (video[0]['width'] >= 1281 or video[0]['height'] >= 721):
             info['videoresolution'] = "1080"
+        else:
+            info['videoresolution'] = ""
     elif (('dvd') in filename and not ('hddvd' or 'hd-dvd') in filename) or 
(filename.endswith('.vob' or '.ifo')):
         info['videoresolution'] = '576'
     elif (('bluray' or 'blu-ray' or 'brrip' or 'bdrip' or 'hddvd' or 'hd-dvd') 
in filename):

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

Summary of changes:
 service.skin.widgets/.gitignore    |    4 ---
 service.skin.widgets/addon.xml     |    4 ++-
 service.skin.widgets/changelog.txt |   22 ++++++++++++++++++
 service.skin.widgets/default.py    |   44 +++++++++++++++++++++++++++++++-----
 4 files changed, 63 insertions(+), 11 deletions(-)
 delete mode 100644 service.skin.widgets/.gitignore


hooks/post-receive
-- 
Scripts

------------------------------------------------------------------------------
Own the Future-Intel(R) Level Up Game Demo Contest 2013
Rise to greatness in Intel's independent game demo contest. Compete 
for recognition, cash, and the chance to get your game on Steam. 
$5K grand prize plus 10 genre and skill prizes. Submit your demo 
by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2
_______________________________________________
Xbmc-addons mailing list
Xbmc-addons@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xbmc-addons

Reply via email to