The branch, eden-pre has been updated
       via  d3f28d57f42b6b733ec60bacd4dbb34c99de1bd9 (commit)
      from  ab72fa8943d5f00e6897dbe0c1549feb0efb7614 (commit)

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

commit d3f28d57f42b6b733ec60bacd4dbb34c99de1bd9
Author: spiff <[email protected]>
Date:   Thu Feb 2 14:18:21 2012 +0100

    [script.artwork.downloader] -v1.0.7

diff --git a/.gitignore b/.gitignore
index 91bf05f..fda205a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,3 +9,5 @@ script.module.parsedom/.hg
 script.common.plugin.cache/.hg
 script.image.bigpictures/.git
 script.module.simple.downloader/.hg
+script.artwork.downloader/.git
+script.artwork.downloader/.gitignore
diff --git a/script.artwork.downloader/addon.xml 
b/script.artwork.downloader/addon.xml
index 7968b58..7a87f6b 100644
--- a/script.artwork.downloader/addon.xml
+++ b/script.artwork.downloader/addon.xml
@@ -2,13 +2,14 @@
 <addon
        id="script.artwork.downloader"
        name="Artwork Downloader"
-       version="1.0.6"
+       version="1.0.7"
        provider-name="paddycarey, putneyj, Martijn"
     >
   <requires>
     <import addon="xbmc.python"                 version="2.0"/>
     <import addon="script.module.elementtree"   version="1.2.7"/>
-    <import addon="script.module.simplejson"    version="2.0.10"/>
+    <import addon="script.module.simplejson"    version="2.0.10" 
optional="true"/>
+    <import addon="script.common.plugin.cache"  version="0.9.1"/>
   </requires>
   <extension point="xbmc.python.script"         library="default.py">
     <provides>executable</provides>
diff --git a/script.artwork.downloader/changelog.txt 
b/script.artwork.downloader/changelog.txt
index 3f266e0..f41c1ee 100644
--- a/script.artwork.downloader/changelog.txt
+++ b/script.artwork.downloader/changelog.txt
@@ -1,5 +1,10 @@
+[B]1.0.7[/B]
+- Changed: Revert 1.0.6 because dependencies are now met. Meaning options from 
1.0.5 are now active
+- Fixed: Limit TMDB by rating not by number of votes
+
 [B]1.0.6[/B]
-- Revert 1.0.5
+
+- Fixed: Revert 1.0.5 because dependencies were not met yet
 
 [B]1.0.5[/B]
 - Added: Use commoncache module to decrease API load on providers
@@ -99,4 +104,4 @@
 
 [B]0.3.6[/B]
 - Initial commit
-- Initial version for official XBMC-repo
+- Initial version for official XBMC-repo
\ No newline at end of file
diff --git a/script.artwork.downloader/default.py 
b/script.artwork.downloader/default.py
index cc9dcda..b44bbbe 100644
--- a/script.artwork.downloader/default.py
+++ b/script.artwork.downloader/default.py
@@ -10,7 +10,7 @@ import urllib
 import time
 
 ### get addon info
-__addon__       = xbmcaddon.Addon()
+__addon__       = xbmcaddon.Addon(id='script.artwork.downloader')
 __addonid__     = __addon__.getAddonInfo('id')
 __addonname__   = __addon__.getAddonInfo('name')
 __author__      = __addon__.getAddonInfo('author')
@@ -494,12 +494,12 @@ class Main:
         log('* Image type: %s' %art_type)
         self.settings.failcount = 0
         seasonfile_presents = []
-        current_artwork = 0 # Used in progras dialog
-        limit_counter = 0   # Used for limiting on number
-        pref_language = language.get_abbrev()         # get abbreviation
-        i = 0               # Set loop counter
-        imagefound = False  # Set found image false
-        imageignore = False      # Set ignaore image false
+        current_artwork = 0                     # Used in progras dialog
+        limit_counter = 0                       # Used for limiting on number
+        pref_language = language.get_abbrev()   # get abbreviation
+        i = 0                                   # Set loop counter
+        imagefound = False                      # Set found image false
+        imageignore = False                     # Set ignaore image false
         final_image_list = []
         if self.mode in ['gui', 'customgui'] and not art_type in 
['extrafanart', 'extrathumbs']:
             final_image_list.append(self.image_item)
@@ -600,6 +600,9 @@ class Main:
                                             self.failed_items.append('[%s] 
Skipping %s - Below limit setting' % (self.media_name,art_type) )
                 # Counter to make the loop twice when nothing found
                 i += 1
+                # Not loop when preferred language is English because that the 
same as the backup
+                if pref_language == 'en':
+                    i += 2
             # Add to failed items if 0
             if current_artwork == 0:
                 self.failed_items.append('[%s] No %s found' % 
(self.media_name,art_type) )
@@ -759,9 +762,6 @@ class Main:
 
     # Return the selected url to the GUI part
     def _choose_image(self, imagelist):
-        # Some debuglog output
-        for item in imagelist:
-            log( "### image list: %s" % item)
         self.image_item = self.MyDialog(imagelist)
         if self.image_item:
             return True
diff --git a/script.artwork.downloader/readme.txt 
b/script.artwork.downloader/readme.txt
index 2bca56d..b1ed93f 100644
--- a/script.artwork.downloader/readme.txt
+++ b/script.artwork.downloader/readme.txt
@@ -53,17 +53,8 @@ Current Features:
 Todos:
     - Music fanart
 
-Skins using this Add-On:
-    Eden 11.0
-    - Aeon Nox (made by Big Noid)
-    - Cirrus Extended (made by Butchabay)
-    - Transparency [T!] (made by ronie)
-    - Aeon MQ3 (made by MarcosQui)
-    - Xperience (made by Black)
-    - reFocus (made by Jeroen)
-    - Convergence (made by Mudislander)
-    - Backrow (by Sharpe)
-    - Glass (by Ronan/Frost/Kbalist)
+Skins using this Add-On in XBMC Eden 11.0:
+    - See skin features wiki or skin support threads
 
 
----------------------------------------------------------------------------------------------
 To run the script in bulk mode simply click on it in the 'Addons' or 
'Programs' menu in XBMC.
diff --git a/script.artwork.downloader/resources/docs/pre-eden.xml 
b/script.artwork.downloader/resources/docs/pre-eden.xml
index 7a41fc6..49115bf 100644
--- a/script.artwork.downloader/resources/docs/pre-eden.xml
+++ b/script.artwork.downloader/resources/docs/pre-eden.xml
@@ -2,7 +2,7 @@
 <!-- These are just examples of how the script can be called from with in the 
skin --> 
 <!-- The examples are taken from the Aeon Nox(pre-Eden11.0) skin made by Big 
Noid -->
 
-<!-- Calling the script to download extrafanart for just one movie/tvshow 
using the add-on settings--> 
+<!-- Calling the script to download extrafanart for just one movie/tvshow 
using the add-on settings --> 
        <item id="8">
                <description>Get Artwork</description>
                <label>$LOCALIZE[31316]</label>
@@ -12,9 +12,9 @@
        </item>
                  
 
-<!-- Calling the script to download extrafanart for just one movie/tvshow with 
GUI mode so user can select the artwork he wants-->
-<!-- You can also use a yes/no button to call GUI mode or automatic solo 
downloading-->
-       <item id="8">
+    <!-- Calling the script to download extrafanart for just one movie/tvshow 
with GUI mode so user can select the artwork he wants -->
+    <!-- You can also use a yes/no button to call GUI mode or automatic solo 
downloading -->
+    <item id="8">
                <description>Get Artwork</description>
                <label>$LOCALIZE[31316]</label>
                <onclick 
condition="Container.Content(tvshows)">XBMC.RunScript(script.artwork.downloader,
 mode=gui, mediatype=tvshow, medianame=$INFO[ListItem.TVShowTitle])</onclick>
@@ -22,11 +22,21 @@
                
<visible>[Container.Content(tvshows)|Container.Content(movies)]+system.hasaddon(script.artwork.downloader)</visible>
        </item>
 
+    <!-- seasonx-banner.jpg  seasonx-poster.jpg   x = single digit season 
number -->
+    <!-- how to use tvshow banners/posters with season folders present         
  -->
+    <imagepath 
background="true">$INFO[ListItem.Path]$INFO[ListItem.Season,../season,-banner.jpg]</imagepath>
+    <imagepath 
background="true">$INFO[ListItem.Path]$INFO[ListItem.Season,../season,-poster.jpg]</imagepath>
+    <imagepath 
background="true">$INFO[Player.Folderpath]$INFO[VideoPlayer.Season,../season,-banner.jpg]</imagepath>
+    <imagepath 
background="true">$INFO[Player.Folderpath]$INFO[VideoPlayer.Season,../season,-posters.jpg]</imagepath>
 
-    
+    <!-- how to use tvshow banners/posters with NO season folders present -->
+    <imagepath 
background="true">$INFO[ListItem.Path]$INFO[ListItem.Season,season,-banner.jpg]</imagepath>
+    <imagepath 
background="true">$INFO[ListItem.Path]$INFO[ListItem.Season,season,-poster.jpg]</imagepath>
+    <imagepath 
background="true">$INFO[Player.Folderpath]$INFO[VideoPlayer.Season,season,-banner.jpg]</imagepath>
+    <imagepath 
background="true">$INFO[Player.Folderpath]$INFO[VideoPlayer.Season,season,-posters.jpg]</imagepath>
 
           
- <!-- Showing off the extrafanart as a slideshow -->
+    <!-- Showing off the extrafanart as a slideshow -->
        <control type="multiimage">
                <posx>715</posx>
                <posy>404</posy>
diff --git a/script.artwork.downloader/resources/language/Dutch/strings.xml 
b/script.artwork.downloader/resources/language/Dutch/strings.xml
index d2881e4..4d95933 100644
--- a/script.artwork.downloader/resources/language/Dutch/strings.xml
+++ b/script.artwork.downloader/resources/language/Dutch/strings.xml
@@ -99,12 +99,12 @@
         <string id="32133">-</string>
         <string id="32134">Seizoen miniatuur 16:9</string>
 
-    <!-- Add-on messages: Image types not found id=32141 to 32160 -->
-        <string id="32141">-</string>
-        <string id="32142">-</string>
-        <string id="32143">-</string>
-        <string id="32144">-</string>
-        <string id="32145">-</string>
+    <!-- Add-on messages: -->
+        <string id="32141">Taal</string>
+        <string id="32142">Waardering</string>
+        <string id="32143">Stemmen</string>
+        <string id="32144">Seizoen</string>
+        <string id="32145">Grootte</string>
         <string id="32146">-</string>
         <string id="32147">-</string>
         <string id="32148">-</string>
diff --git a/script.artwork.downloader/resources/language/English/strings.xml 
b/script.artwork.downloader/resources/language/English/strings.xml
index 77a86fd..0e11056 100644
--- a/script.artwork.downloader/resources/language/English/strings.xml
+++ b/script.artwork.downloader/resources/language/English/strings.xml
@@ -99,12 +99,12 @@
         <string id="32133">-</string>
         <string id="32134">Season Thumbs 16:9</string>
 
-    <!-- Add-on messages: Image types not found id=32141 to 32160 -->
-        <string id="32141">-</string>
-        <string id="32142">-</string>
-        <string id="32143">-</string>
-        <string id="32144">-</string>
-        <string id="32145">-</string>
+    <!-- Add-on messages: -->
+        <string id="32141">Language</string>
+        <string id="32142">Rating</string>
+        <string id="32143">Votes</string>
+        <string id="32144">Season</string>
+        <string id="32145">Size</string>
         <string id="32146">-</string>
         <string id="32147">-</string>
         <string id="32148">-</string>
diff --git a/script.artwork.downloader/resources/language/German/strings.xml 
b/script.artwork.downloader/resources/language/German/strings.xml
index 3ef1d32..a2e77d4 100644
--- a/script.artwork.downloader/resources/language/German/strings.xml
+++ b/script.artwork.downloader/resources/language/German/strings.xml
@@ -99,12 +99,12 @@
         <string id="32133">-</string>
         <string id="32134">Staffel-Thumb 16:9</string>
 
-    <!-- Add-on messages: Image types not found id=32141 to 32160 -->
-        <string id="32141">-</string>
-        <string id="32142">-</string>
-        <string id="32143">-</string>
-        <string id="32144">-</string>
-        <string id="32145">-</string>
+    <!-- Add-on messages: -->
+        <string id="32141">Language</string>
+        <string id="32142">Rating</string>
+        <string id="32143">Votes</string>
+        <string id="32144">Season</string>
+        <string id="32145">Size</string>
         <string id="32146">-</string>
         <string id="32147">-</string>
         <string id="32148">-</string>
diff --git a/script.artwork.downloader/resources/language/Polish/strings.xml 
b/script.artwork.downloader/resources/language/Polish/strings.xml
index 8a48c72..b3f8ad0 100644
--- a/script.artwork.downloader/resources/language/Polish/strings.xml
+++ b/script.artwork.downloader/resources/language/Polish/strings.xml
@@ -99,12 +99,12 @@
         <string id="32133">-</string>
         <string id="32134">Miniatury sezonu 16:9</string>
 
-    <!-- Add-on messages: Image types not found id=32141 to 32160 -->
-        <string id="32141">-</string>
-        <string id="32142">-</string>
-        <string id="32143">-</string>
-        <string id="32144">-</string>
-        <string id="32145">-</string>
+    <!-- Add-on messages: -->
+        <string id="32141">Language</string>
+        <string id="32142">Rating</string>
+        <string id="32143">Votes</string>
+        <string id="32144">Season</string>
+        <string id="32145">Size</string>
         <string id="32146">-</string>
         <string id="32147">-</string>
         <string id="32148">-</string>
diff --git a/script.artwork.downloader/resources/lib/apply_filters.py 
b/script.artwork.downloader/resources/lib/apply_filters.py
index 30ed626..1e11370 100644
--- a/script.artwork.downloader/resources/lib/apply_filters.py
+++ b/script.artwork.downloader/resources/lib/apply_filters.py
@@ -133,7 +133,7 @@ class apply_filters:
             reason = 'Size was to small: %s' % artwork['height']
             limited = True
         # Correct language
-        elif self.settings.limit_artwork and not artwork['language'] in [ 
language, 'n/a' ]:
+        elif self.settings.limit_artwork and not artwork['language'] in [ 
language ]:
             reason = "Doesn't match preferred language: %s" % pref_language
             limited = True
         return [limited, reason]
@@ -150,7 +150,7 @@ class apply_filters:
             reason = 'Size was to small: %s' % artwork['height']
             limited = True
         # Correct language
-        elif self.settings.limit_artwork and not artwork['language'] in [ 
language, 'n/a' ]:
+        elif self.settings.limit_artwork and not artwork['language'] in [ 
language ]:
             reason = "Doesn't match preferred language: %s" % pref_language
             limited = True
         return [limited, reason]
@@ -167,7 +167,7 @@ class apply_filters:
             reason = 'Rating too low: %s' % artwork['rating']
             limited = True
         # Correct language
-        elif self.settings.limit_artwork and not artwork['language'] in [ 
language, 'n/a' ]:
+        elif self.settings.limit_artwork and not artwork['language'] in [ 
language ]:
             reason = "Doesn't match preferred language: %s" % pref_language
             limited = True
         return [limited, reason]
@@ -188,7 +188,7 @@ class apply_filters:
             reason = 'Rating too low: %s' % artwork['rating']
             limited = True
         # Correct language
-        elif self.settings.limit_artwork and not artwork['language'] in [ 
language, 'n/a' ]:
+        elif self.settings.limit_artwork and not artwork['language'] in [ 
language ]:
             reason = "Doesn't match preferred language: %s" % pref_language
             limited = True
         return [limited, reason]
diff --git a/script.artwork.downloader/resources/lib/media_setup.py 
b/script.artwork.downloader/resources/lib/media_setup.py
index 2c821a5..dac6d08 100644
--- a/script.artwork.downloader/resources/lib/media_setup.py
+++ b/script.artwork.downloader/resources/lib/media_setup.py
@@ -2,7 +2,10 @@
 import os
 import xbmc
 import urllib
-import simplejson
+try:
+    import json as simplejson
+except:
+    import simplejson
 
 ### import libraries
 from resources.lib.utils import _normalize_string as normalize_string
diff --git a/script.artwork.downloader/resources/lib/provider/fanarttv.py 
b/script.artwork.downloader/resources/lib/provider/fanarttv.py
index 54dab9a..9585b2a 100644
--- a/script.artwork.downloader/resources/lib/provider/fanarttv.py
+++ b/script.artwork.downloader/resources/lib/provider/fanarttv.py
@@ -1,10 +1,16 @@
+#import modules
+import sys
+import urllib
+
 ### import libraries
 from resources.lib.provider.base import BaseProvider
 from resources.lib.script_exceptions import NoFanartError, ItemNotFoundError
 from resources.lib.utils import _log as log
 from resources.lib.utils import _get_xml as get_xml
 from elementtree import ElementTree as ET
-import urllib
+
+### get addon info
+__localize__    = ( sys.modules[ "__main__" ].__localize__ )
 
 class FTV_TVProvider():
 
@@ -49,7 +55,7 @@ class FTV_TVProvider():
                     info['generalinfo'] = 'Language: %s , Likes: %s   ' 
%(info['language'], info['likes'])
                     '''
                     # Create Gui string to display
-                    info['generalinfo'] = 'Language: %s  |  Rating: %s   ' 
%(info['language'], info['rating'])
+                    info['generalinfo'] = '%s: %s  |  %s: %s   ' %( 
__localize__(32141), info['language'], __localize__(32142), info['rating'])
                     if info:
                         image_list.append(info)
         if image_list == []:
@@ -84,7 +90,7 @@ class FTV_MovieProvider():
                     info['language'] = image.get('lang')
                     info['likes'] = image.get('likes')
                     # Create Gui string to display
-                    info['generalinfo'] = 'Language: %s  |  Likes: %s   ' 
%(info['language'], info['likes'])
+                    info['generalinfo'] = '%s: %s  |  %s: %s   ' %( 
__localize__(32141), info['language'], __localize__(32143), info['likes'] )
                     if info:            
                         image_list.append(info)
         if image_list == []:
diff --git a/script.artwork.downloader/resources/lib/provider/tmdb.py 
b/script.artwork.downloader/resources/lib/provider/tmdb.py
index 8e86cde..b6bb9af 100644
--- a/script.artwork.downloader/resources/lib/provider/tmdb.py
+++ b/script.artwork.downloader/resources/lib/provider/tmdb.py
@@ -1,5 +1,6 @@
 #import modules
 import xbmc
+import sys
 
 ### import libraries
 from resources.lib.script_exceptions import NoFanartError, ItemNotFoundError
@@ -9,7 +10,10 @@ from resources.lib.utils import _get_xml as get_xml
 from resources.lib.utils import _get_json as get_json
 from resources.lib import language
 from elementtree import ElementTree as ET
+from operator import itemgetter
 
+### get addon info
+__localize__    = ( sys.modules[ "__main__" ].__localize__ )
 
 class TMDBProvider():
 
@@ -42,14 +46,14 @@ class TMDBProvider():
 
                 # find image ratings
                 if int(item['vote_count']) >= 1:
-                    info['rating'] = float( "%.1f" % float( 
item['vote_count']) ) #output string with one decimal
+                    info['rating'] = float( "%.1f" % float( 
item['vote_average']) ) #output string with one decimal
                     info['votes'] = item['vote_count']
                 else:
                     info['rating'] = 'n/a'
                     info['votes'] = 'n/a'
 
                 # Create Gui string to display
-                info['generalinfo'] = 'Language: %s  |  Rating: %s  |  Votes: 
%s  |  Size: %sx%s  |  ' %(info['language'], info['rating'], info['votes'], 
info['width'],info['height'])
+                info['generalinfo'] = '%s: %s  |  %s: %s  |  %s: %s  |  %s: 
%sx%s  |  ' %( __localize__(32141), info['language'], __localize__(32142), 
info['rating'], __localize__(32143), info['votes'], __localize__(32145), 
info['width'], info['height'])
 
                 if info:
                     image_list.append(info)
@@ -75,14 +79,14 @@ class TMDBProvider():
 
                 # find image ratings
                 if int(item['vote_count']) >= 1:
-                    info['rating'] = float( "%.1f" % float( 
item['vote_count']) ) #output string with one decimal
+                    info['rating'] = float( "%.1f" % float( 
item['vote_average']) ) #output string with one decimal
                     info['votes'] = item['vote_count']
                 else:
                     info['rating'] = 'n/a'
                     info['votes'] = 'n/a'
 
                 # Create Gui string to display
-                info['generalinfo'] = 'Language: %s  |  Rating: %s  |  Votes: 
%s  |  Size: %sx%s  |  ' %(info['language'], info['rating'], info['votes'], 
info['width'],info['height'])
+                info['generalinfo'] = '%s: %s  |  %s: %s  |  %s: %s  |  %s: 
%sx%s  |  ' %( __localize__(32141), info['language'], __localize__(32142), 
info['rating'], __localize__(32143), info['votes'], __localize__(32145), 
info['width'], info['height'])
 
                 if info:
                     image_list.append(info)
@@ -108,14 +112,14 @@ class TMDBProvider():
 
                 # find image ratings
                 if int(item['vote_count']) >= 1:
-                    info['rating'] = float( "%.1f" % float( 
item['vote_count']) ) #output string with one decimal
+                    info['rating'] = float( "%.1f" % float( 
item['vote_average']) ) #output string with one decimal
                     info['votes'] = item['vote_count']
                 else:
                     info['rating'] = 'n/a'
                     info['votes'] = 'n/a'
 
                 # Create Gui string to display
-                info['generalinfo'] = 'Language: %s  |  Rating: %s  |  Votes: 
%s  |  Size: %sx%s  |  ' %(info['language'], info['rating'], info['votes'], 
info['width'],info['height'])
+                info['generalinfo'] = '%s: %s  |  %s: %s  |  %s: %s  |  %s: 
%sx%s  |  ' %( __localize__(32141), info['language'], __localize__(32142), 
info['rating'], __localize__(32143), info['votes'], __localize__(32145), 
info['width'], info['height'])
 
                 if info:
                     image_list.append(info)
@@ -124,6 +128,9 @@ class TMDBProvider():
         if image_list == []:
             raise NoFanartError(media_id)
         else:
+            # Sort the list before return. Last sort method is primary
+            image_list = sorted(image_list, key=itemgetter('rating'), 
reverse=True)
+            image_list = sorted(image_list, key=itemgetter('language'))
             return image_list
 
 
diff --git a/script.artwork.downloader/resources/lib/provider/tvdb.py 
b/script.artwork.downloader/resources/lib/provider/tvdb.py
index 4988697..9bba4cf 100644
--- a/script.artwork.downloader/resources/lib/provider/tvdb.py
+++ b/script.artwork.downloader/resources/lib/provider/tvdb.py
@@ -1,8 +1,15 @@
+#import modules
+import sys
+
 #import libraries
 from resources.lib.script_exceptions import NoFanartError
 from resources.lib.utils import _log as log
 from resources.lib.utils import _get_xml as get_xml
 from elementtree import ElementTree as ET
+from operator import itemgetter
+
+### get addon info
+__localize__    = ( sys.modules[ "__main__" ].__localize__ )
 
 class TVDBProvider():
     """
@@ -16,7 +23,6 @@ class TVDBProvider():
 
     def get_image_list(self, media_id):
         xml_url = self.url % (self.api_key, media_id)
-        log('API:               %s ' % xml_url)
         image_list = []
         data = get_xml(xml_url)
         tree = ET.fromstring(data)
@@ -68,18 +74,25 @@ class TVDBProvider():
                     info['votes'] = 'n/a'
 
                 # find season info
-                if image.findtext('Season') != '':
+                if image.findtext('Season'):
                     info['season'] = image.findtext('Season')
+                else:
+                    info['season'] = 'n/a'
+
                 # Create Gui string to display
-                info['generalinfo'] = 'Language: %s  |  Rating: %s  |  Votes: 
%s  |  ' %( info['language'], info['rating'], info['votes'] )
-                if 'season'in info:
-                    info['generalinfo'] += 'Season: %s  |  ' %( info['season'] 
)
+                info['generalinfo'] = '%s: %s  |  %s: %s  |  %s: %s  |  ' %( 
__localize__(32141), info['language'], __localize__(32142), info['rating'], 
__localize__(32143), info['votes'] )
+                if info['season'] != 'n/a':
+                    info['generalinfo'] += '%s: %s  |  ' %( 
__localize__(32144), info['season'] )
                 if 'height' in info:
-                    info['generalinfo'] += 'Size: %sx%s  |  ' %( 
info['height'], info['width'] )
+                    info['generalinfo'] += '%s: %sx%s  |  ' %( 
__localize__(32145), info['height'], info['width'] )
 
             if info:
                 image_list.append(info)
         if image_list == []:
             raise NoFanartError(media_id)
         else:
+            # Sort the list before return. Last sort method is primary
+            image_list = sorted(image_list, key=itemgetter('rating'), 
reverse=True)
+            image_list = sorted(image_list, key=itemgetter('season'))
+            image_list = sorted(image_list, key=itemgetter('language'))
             return image_list
diff --git a/script.artwork.downloader/resources/lib/settings.py 
b/script.artwork.downloader/resources/lib/settings.py
index 92a72af..ef09101 100644
--- a/script.artwork.downloader/resources/lib/settings.py
+++ b/script.artwork.downloader/resources/lib/settings.py
@@ -56,7 +56,6 @@ class _settings:
         self.movie_discart          = False
         
         self.tvshow_seasonposter    = False
-        self.tvshow_seasonbanner    = False
         self.tvshow_seasonthumbs    = False
         
     ### Initial genral vars
@@ -297,7 +296,7 @@ class _settings:
         info = {}
         info['media_type']      = 'tvshow'
         info['bulk_enabled']    = self.tvshow_seasonbanner
-        info['solo_enabled']    = 'false'
+        info['solo_enabled']    = 'true'
         info['gui_string']      = __localize__(32124)
         info['art_type']        = 'seasonbanner'
         info['filename']        = 'season%s-banner.jpg'
diff --git a/script.artwork.downloader/resources/lib/utils.py 
b/script.artwork.downloader/resources/lib/utils.py
index 1755e9b..fe4ba2d 100644
--- a/script.artwork.downloader/resources/lib/utils.py
+++ b/script.artwork.downloader/resources/lib/utils.py
@@ -4,22 +4,30 @@ import xbmc
 import xbmcgui
 import xbmcaddon
 import unicodedata
-import simplejson
 import urllib2
 import sys
+try:
+    import json as simplejson
+except:
+    import simplejson
 
 ### get addon info
 __addon__       = ( sys.modules[ "__main__" ].__addon__ )
-__addonid__     = ( sys.modules[ "__main__" ].__addonid__ )
 __addonname__   = ( sys.modules[ "__main__" ].__addonname__ )
 __icon__        = ( sys.modules[ "__main__" ].__icon__ )
 __localize__    = ( sys.modules[ "__main__" ].__localize__ )
-__addondir__    = xbmc.translatePath( __addon__.getAddonInfo('profile') )
 
 ### import libraries
 from urllib2 import HTTPError, URLError, urlopen
 from resources.lib.script_exceptions import *
-#HTTP404Error, HTTP503Error, DownloadError, HTTPTimeout
+
+# Commoncache plugin import
+try:
+    import StorageServer
+except:
+    import storageserverdummy as StorageServer
+
+cache = StorageServer.StorageServer("ArtworkDownloader",24)
 
 ### adjust default timeout to stop script hanging
 timeout = 20
@@ -103,9 +111,19 @@ def _getUniq(seq):
         result.append( item )
     return result
 
-# Retrieve JSON data from site
+# Retrieve JSON data from cache function
 def _get_json(url):
     _log('API: %s'% url)
+    result = cache.cacheFunction( _get_json_new, url )
+    if len(result) == 0:
+        result = []
+        return result
+    else:
+        return result[0]
+
+# Retrieve JSON data from site
+def _get_json_new(url):
+    _log('Cache expired. Retrieving new data')
     try:
         request = urllib2.Request(url)
         request.add_header("Accept", "application/json")
@@ -120,20 +138,31 @@ def _get_json(url):
         else:
             raise DownloadError(str(e))
     except:
-        json_string = ''
+        json_string = []
     try:
         parsed_json = simplejson.loads(json_string)
     except:
-        parsed_json = ''
-    return parsed_json
+        parsed_json = []
+    return [parsed_json]
 
-# Retrieve XML data from site
+# Retrieve XML data from cache function
 def _get_xml(url):
+    _log('API: %s'% url)
+    result = cache.cacheFunction( _get_xml_new, url )
+    if len(result) == 0:
+        result = []
+        return result
+    else:
+        return result[0]
+
+# Retrieve XML data from site
+def _get_xml_new(url):
+    _log('Cache expired. Retrieving new data')
     try:
         client  = urlopen(url)
         data    = client.read()
         client.close()
-        return data
+        return [data]
     except HTTPError, e:
         if e.code   == 404:
             raise HTTP404Error( url )
@@ -169,4 +198,4 @@ def _save_nfo_file( data, target ):
         # oops, notify user what error occurred
         log( str( e ), xbmc.LOGERROR )
         # return failed
-        return False
\ No newline at end of file
+        return False
diff --git a/script.artwork.downloader/resources/settings.xml 
b/script.artwork.downloader/resources/settings.xml
index 1246abf..4425c36 100644
--- a/script.artwork.downloader/resources/settings.xml
+++ b/script.artwork.downloader/resources/settings.xml
@@ -60,7 +60,7 @@
         <setting label="32127" type="bool"      id="tvshow_characterart"       
 subsetting="true" enable="eq(-6,true)"  default="false" />
         <setting label="32126" type="bool"      id="tvshow_logo"               
 subsetting="true" enable="eq(-7,true)"  default="true" />
         <setting label="32123" type="bool"      id="tvshow_showbanner"         
 subsetting="true" enable="eq(-8,true)"  default="true" />
-        <setting label="32124" type="bool"      id="tvshow_seasonbanner"       
 subsetting="true" enable="false"        default="false" />
+        <setting label="32124" type="bool"      id="tvshow_seasonbanner"       
 subsetting="true" enable="eq(-9,true)"  default="false" />
         <setting label="32130" type="bool"      id="tvshow_thumb"              
 subsetting="true" enable="eq(-10,true)" default="true" />
         <setting label="32134" type="bool"      id="tvshow_seasonthumbs"       
 subsetting="true" enable="false"        default="false" />
     </category>
diff --git a/script.artwork.downloader/service.py 
b/script.artwork.downloader/service.py
index e889268..ee2b5a1 100644
--- a/script.artwork.downloader/service.py
+++ b/script.artwork.downloader/service.py
@@ -7,7 +7,7 @@ import xbmcaddon
 import xbmcvfs
 
 ### get addon info
-__addon__       = xbmcaddon.Addon()
+__addon__       = xbmcaddon.Addon(id='script.artwork.downloader')
 __addonid__     = __addon__.getAddonInfo('id')
 __addonname__   = __addon__.getAddonInfo('name')
 __author__      = __addon__.getAddonInfo('author')
@@ -27,13 +27,13 @@ def autostart():
         xbmcaddon.Addon().setSetting(id="files_overwrite", value='false')
         settings = _settings()
         settings._get_general()
-        addondir = xbmc.translatePath( utils.__addon__.getAddonInfo('profile') 
)
-        tempdir = os.path.join(addondir, 'temp')
+        tempdir = os.path.join(__addondir__, 'temp')
         service_runtime  = str(settings.service_runtime + ':00')
-        log('Service - Run at startup: %s'%settings.service_startup, 
xbmc.LOGNOTICE)        
-        log('Service - Delayed startup: %s 
minutes'%settings.service_startupdelay, xbmc.LOGNOTICE)   
-        log('Service - Run as service: %s'%settings.service_enable, 
xbmc.LOGNOTICE)
-        log('Service - Time: %s'%service_runtime, xbmc.LOGNOTICE)
+        log('## Service - Run at startup: %s'%settings.service_startup, 
xbmc.LOGNOTICE)        
+        log('## Service - Delayed startup: %s 
minutes'%settings.service_startupdelay, xbmc.LOGNOTICE)   
+        log('## Service - Run as service: %s'%settings.service_enable, 
xbmc.LOGNOTICE)
+        log('## Service - Time: %s'%service_runtime, xbmc.LOGNOTICE)
+        log("##########........................")
         # Check if tempdir exists and remove it
         if xbmcvfs.exists(tempdir):
             xbmcvfs.rmdir(tempdir)
@@ -57,4 +57,9 @@ def autostart():
                         log('Addon already running, scheduled run aborted', 
xbmc.LOGNOTICE)
 
 if (__name__ == "__main__"):
+    log("######## Extrafanart Downloader Service: 
Initializing........................")
+    log('## Add-on ID   = %s' % str(__addonid__))
+    log('## Add-on Name = %s' % str(__addonname__))
+    log('## Authors     = %s' % str(__author__))
+    log('## Version     = %s' % str(__version__))
     autostart()
\ No newline at end of file

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

Summary of changes:
 .gitignore                                         |    2 +
 script.artwork.downloader/addon.xml                |    5 +-
 script.artwork.downloader/changelog.txt            |    9 +++-
 script.artwork.downloader/default.py               |   20 ++++----
 script.artwork.downloader/readme.txt               |   13 +----
 .../resources/docs/pre-eden.xml                    |   22 ++++++--
 .../resources/language/Dutch/strings.xml           |   12 ++--
 .../resources/language/English/strings.xml         |   12 ++--
 .../resources/language/German/strings.xml          |   12 ++--
 .../resources/language/Polish/strings.xml          |   12 ++--
 .../resources/lib/apply_filters.py                 |    8 ++--
 .../resources/lib/media_setup.py                   |    5 ++-
 .../resources/lib/provider/fanarttv.py             |   12 ++++-
 .../resources/lib/provider/tmdb.py                 |   19 +++++--
 .../resources/lib/provider/tvdb.py                 |   25 +++++++--
 .../resources/lib/settings.py                      |    3 +-
 .../resources}/lib/storageserverdummy.py           |    4 +-
 script.artwork.downloader/resources/lib/utils.py   |   51 +++++++++++++++----
 script.artwork.downloader/resources/settings.xml   |    2 +-
 script.artwork.downloader/service.py               |   19 +++++---
 20 files changed, 169 insertions(+), 98 deletions(-)
 copy {script.module.simple.downloader => 
script.artwork.downloader/resources}/lib/storageserverdummy.py (87%)


hooks/post-receive
-- 
Scripts

------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons

Reply via email to