The branch, eden-pre has been updated
via f63dd791eb71980db9e0cdfd5873f53804c9e455 (commit)
from d710b5522d56f84c7f8f70557dcd34187b51619d (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=f63dd791eb71980db9e0cdfd5873f53804c9e455
commit f63dd791eb71980db9e0cdfd5873f53804c9e455
Author: ronie <[email protected]>
Date: Sun Dec 4 01:42:44 2011 +0100
[script.artwork.downloader] -v1.0.1
added ability for skinners to run a custom mode specifying artwork types
diff --git a/script.artwork.downloader/LICENSE.txt
b/script.artwork.downloader/LICENSE.txt
old mode 100755
new mode 100644
diff --git a/script.artwork.downloader/addon.xml
b/script.artwork.downloader/addon.xml
old mode 100755
new mode 100644
index 59406a0..62082d3
--- a/script.artwork.downloader/addon.xml
+++ b/script.artwork.downloader/addon.xml
@@ -2,7 +2,7 @@
<addon
id="script.artwork.downloader"
name="Artwork Downloader"
- version="1.0.0"
+ version="1.0.1"
provider-name="paddycarey, putneyj, Machine-Sanctum"
>
<requires>
diff --git a/script.artwork.downloader/changelog.txt
b/script.artwork.downloader/changelog.txt
index 2605655..ab04737 100644
--- a/script.artwork.downloader/changelog.txt
+++ b/script.artwork.downloader/changelog.txt
@@ -1,3 +1,10 @@
+[B]1.0.1[/B]
+- Added: Ability for skinners to run a custom mode specifying artwork types
+ see /resources/docs/runscript.txt
+- Fixed: Downloading logos in overwrite all mode
+- Fixed: Problems with folder creation for .rar media
+- Removed: Version/settings.xml check
+
[B]1.0.0[/B]
- Name change: Extrafanart Downloader -> Artwork Downloader
- Fixed: Refactored JSON query to prevent reg-ex problems
diff --git a/script.artwork.downloader/default.py
b/script.artwork.downloader/default.py
old mode 100755
new mode 100644
index f936743..d13fd61
--- a/script.artwork.downloader/default.py
+++ b/script.artwork.downloader/default.py
@@ -1,4 +1,4 @@
-### import
+### import
import re
import os
import time
@@ -7,6 +7,7 @@ import xbmc
import xbmcaddon
import platform
import xbmcgui
+import urllib
from traceback import print_exc
### import libraries
@@ -58,8 +59,8 @@ def cleanup(self):
if self.settings.notify:
log('Notify on finished/error enabled')
self.settings.background = False
- if xbmc.Player().isPlayingVideo():
- #log('Silent finish because of playing a video')
+ if xbmc.Player().isPlayingVideo() or self.silent:
+ log('Silent finish because of playing a video or silent mode')
self.settings.background = True
if not self.settings.failcount < self.settings.failthreshold:
log('Network error detected, script aborted', xbmc.LOGERROR)
@@ -77,7 +78,6 @@ def cleanup(self):
class Main:
def __init__(self):
initial_vars(self)
- self.settings._exist() # Check if settings.xml exists and correct
version
self.settings._get() # Get settings from settings.xml
self.settings._get_limit() # Get settings from settings.xml
self.settings._check() # Check if there are some faulty
combinations present
@@ -86,33 +86,49 @@ class Main:
self.settings._artype_list()# Fill out the GUI and Arttype lists with
enabled options
runmode_args(self) # Check for script call methods
if initialise(self):
+ # Check for silent background mode
if self.silent:
- self.settings.background = 'true'
- self.settings.notify = 'true'
+ log('Silent mode')
+ self.settings.background = True
+ self.settings.notify = False
+ # Check for gui mode
elif self.mode == 'gui':
log('set dialog true')
self.settings.background = False
self.settings.notify = False
dialog('create', line1 = __localize__(32008), background =
self.settings.background)
+ # Check if mediatype is specified
if not self.mediatype == '':
+ # Check if medianame is specified
if not self.medianame == '':
if self.mode == 'gui':
- # 'Mode check is at the end of: 'def download_artwork'
+ # GUI mode check is at the end of: 'def
download_artwork'
solo_mode(self, self.mediatype, self.medianame)
else:
solo_mode(self, self.mediatype, self.medianame)
+ # No medianame specified
else:
if self.mediatype == 'movie':
self.Medialist = media_listing('movie')
log("Bulk mode: movie")
+ self.settings.movie_enable = 'true'
+ self.settings.tvshow_enable = 'false'
download_artwork(self, self.Medialist,
self.movie_providers)
elif self.mediatype == 'tvshow':
+ self.settings.movie_enable = 'false'
+ self.settings.tvshow_enable = 'true'
self.Medialist = media_listing('tvshow')
log("Bulk mode: TV Shows")
download_artwork(self, self.Medialist,
self.tv_providers)
elif self.mediatype == 'music':
log('Bulk mode: Music not yet implemented',
xbmc.LOGNOTICE)
+ # No mediatype is specified
else:
+ # activate both movie/tvshow for custom run
+ if self.mode == 'custom':
+ self.settings.movie_enable = True
+ self.settings.tvshow_enable = True
+ # Normal oprations check
if self.settings.movie_enable:
self.Medialist = media_listing('movie')
self.mediatype = 'movie'
@@ -174,7 +190,7 @@ def runmode_args(self):
except: log( "## no arg3" )
try: log( "## arg 4: %s" % sys.argv[4] )
except: log( "## no arg4" )
- try: log( "arg 5: %s" % sys.argv[5] )
+ try: log( "## arg 5: %s" % sys.argv[5] )
except: log( "## no arg5" )
try: log( "## arg 6: %s" % sys.argv[6] )
except: log( "## no arg6" )
@@ -182,21 +198,25 @@ def runmode_args(self):
except: log( "## no arg7" )
try: log( "## arg 8: %s" % sys.argv[8] )
except: log( "## no arg8" )
-
+ try: log( "## arg 9: %s" % sys.argv[9] )
+ except: log( "## no arg8" )
+ try: log( "## arg 10: %s" % sys.argv[10] )
+ except: log( "## no arg8" )
### solo mode
def solo_mode(self, itemtype, itemname):
+ # activate both movie/tvshow for custom r
+ if self.mode == 'custom':
+ self.settings.movie_enable = True
+ self.settings.tvshow_enable = True
if itemtype == 'movie':
log("## Solo mode: Movie...")
self.Medialist = media_listing('movie')
elif itemtype == 'tvshow':
self.Medialist = media_listing('tvshow')
log("## Solo mode: TV Show...")
- elif itemtype == 'music':
- self.Medialist = media_listing('music')
- log("## Solo mode: Music...")
else:
- log("Error: type must be one of 'movie', 'tvshow' or 'music',
aborting", xbmc.LOGERROR)
+ log("Error: type must be one of 'movie', 'tvshow', aborting",
xbmc.LOGERROR)
return False
log('Retrieving fanart for: %s' % itemname)
for currentitem in self.Medialist:
@@ -214,8 +234,8 @@ def solo_mode(self, itemtype, itemname):
### load settings and initialise needed directories
def initialise(self):
+ log("## Checking for downloading mode...")
for item in sys.argv:
- log("## Checking for downloading mode...")
# Check for download mode
match = re.search("silent=(.*)" , item)
if match:
@@ -233,8 +253,6 @@ def initialise(self):
else:
log('Error: invalid mediatype, must be one of movie, tvshow or
music', xbmc.LOGERROR)
return False
- else:
- pass
# Check for medianame
match = re.search("medianame=" , item)
if match:
@@ -249,7 +267,8 @@ def initialise(self):
return False
else:
return True
-
+
+
### download media fanart
def download_artwork(self, media_list, providers):
self.processeditems = 0
@@ -268,6 +287,9 @@ def download_artwork(self, media_list, providers):
self.media_path = os.path.split(currentmedia["path"])[0].rsplit('
, ', 1)[1]
except:
self.media_path = os.path.split(currentmedia["path"])[0]
+ # Fixes problems with rared movies
+ if self.media_path.startswith("rar"):
+ self.media_path =
os.path.split(urllib.url2pathname(self.media_path.replace("rar://","")))[0]
# Declare some vars
self.media_id = currentmedia["id"]
self.media_name = currentmedia["name"]
@@ -286,22 +308,12 @@ def download_artwork(self, media_list, providers):
self.target_artworkdir.append(artwork_dir)
self.target_extrafanartdirs.append(extrafanart_dir)
self.target_extrathumbsdirs.append(extrathumbs_dir)
- ### Check if using the centralize option
+ # Check if using the centralize option
if self.settings.centralize_enable:
if self.mediatype == 'tvshow':
- if not self.settings.centralfolder_tvshows == '':
-
self.target_extrafanartdirs.append(self.settings.centralfolder_tvshows)
- else:
- log('Error: Central fanart enabled but TV Show folder not
set, skipping', xbmc.LOGERROR)
+
self.target_extrafanartdirs.append(self.settings.centralfolder_tvshows)
elif self.mediatype == 'movie':
- if not self.settings.centralfolder_movies == '':
-
self.target_extrafanartdirs.append(self.settings.centralfolder_movies)
- else:
- log('Error: Central fanart enabled but movies folder not
set, skipping', xbmc.LOGERROR)
- ### Check if using the cache option
- self.targets = self.target_extrafanartdirs[:]
- if self.settings.backup_enabled and not self.settings.backup_path ==
'':
- self.targets.append(self.settings.backup_path)
+
self.target_extrafanartdirs.append(self.settings.centralfolder_movies)
# Check for id used by source sites
if self.mode == 'gui' and ((self.media_id == '') or (self.mediatype ==
'tvshow' and self.media_id.startswith('tt'))):
dialog('close', background = self.settings.background)
@@ -310,6 +322,7 @@ def download_artwork(self, media_list, providers):
log('%s: No ID found, skipping' % self.media_name, xbmc.LOGNOTICE)
elif self.mediatype == 'tvshow' and self.media_id.startswith('tt'):
log('%s: IMDB ID found for TV show, skipping' % self.media_name,
xbmc.LOGNOTICE)
+ # If correct ID found continue
else:
self.temp_image_list = []
self.image_list = []
@@ -366,34 +379,64 @@ def download_artwork(self, media_list, providers):
if self.mode == 'gui':
log('here goes gui mode')
_gui_solomode(self)
+ if self.mode == 'custom':
+ log('here goes custom mode')
+ _custom_process(self)
else:
_download_process(self)
log('Finished processing media: %s' % self.media_name, xbmc.LOGDEBUG)
self.processeditems = self.processeditems + 1
+### Processes the custom mode downloading of files
+def _custom_process(self):
+ if self.settings.movie_enable and self.mediatype == 'movie':
+ for arttypes in self.settings.movie_arttype_list:
+ for item in sys.argv:
+ if item == arttypes['art_type']:
+ if arttypes['art_type'] == 'extrafanart':
+ _download_art(self, arttypes['art_type'], 'fanart',
arttypes['filename'], self.target_extrafanartdirs, arttypes['gui_string'])
+ elif arttypes['art_type'] == 'defaultthumb':
+ _download_art(self, arttypes['art_type'], 'poster',
arttypes['filename'], self.target_artworkdir, arttypes['gui_string'])
+ elif arttypes['art_type'] == 'extrathumbs':
+ _download_art(self, arttypes['art_type'], 'thumb',
arttypes['filename'], self.target_extrathumbsdirs, arttypes['gui_string'])
+ else:
+ _download_art(self, arttypes['art_type'],
arttypes['art_type'], arttypes['filename'], self.target_artworkdir,
arttypes['gui_string'])
+
+ if self.settings.tvshow_enable and self.mediatype == 'tvshow':
+ for arttypes in self.settings.tvshow_arttype_list:
+ for item in sys.argv:
+ if item == arttypes['art_type']:
+ if arttypes['art_type'] == 'extrafanart':
+ _download_art(self, arttypes['art_type'], 'fanart',
arttypes['filename'], self.target_extrafanartdirs, arttypes['gui_string'])
+ elif arttypes['art_type'] == 'defaultthumb':
+ _download_art(self, arttypes['art_type'],
str.lower(self.settings.tvshow_defaultthumb_type), arttypes['filename'],
self.target_artworkdir, arttypes['gui_string'])
+ else:
+ _download_art(self, arttypes['art_type'],
arttypes['art_type'], arttypes['filename'], self.target_artworkdir,
arttypes['gui_string'])
+
+
### Processes the bulk/solo mode downloading of files
def _download_process(self):
if self.settings.movie_enable and self.mediatype == 'movie':
for arttypes in self.settings.movie_arttype_list:
if arttypes['bulk_enabled']:
if arttypes['art_type'] == 'extrafanart':
- _download_art(self, arttypes['art_type'], 'fanart',
arttypes['filename'], self.target_extrafanartdirs, self.targets,
arttypes['gui_string'])
+ _download_art(self, arttypes['art_type'], 'fanart',
arttypes['filename'], self.target_extrafanartdirs, arttypes['gui_string'])
elif arttypes['art_type'] == 'defaultthumb':
- _download_art(self, 'poster', 'poster',
arttypes['filename'], self.target_artworkdir, self.targets,
arttypes['gui_string'])
+ _download_art(self, arttypes['art_type'], 'poster',
arttypes['filename'], self.target_artworkdir, arttypes['gui_string'])
elif arttypes['art_type'] == 'extrathumbs':
- _download_art(self, arttypes['art_type'], 'thumb',
arttypes['filename'], self.target_extrathumbsdirs, self.targets,
arttypes['gui_string'])
+ _download_art(self, arttypes['art_type'], 'thumb',
arttypes['filename'], self.target_extrathumbsdirs, arttypes['gui_string'])
else:
- _download_art(self, arttypes['art_type'],
arttypes['art_type'], arttypes['filename'], self.target_artworkdir,
self.targets, arttypes['gui_string'])
+ _download_art(self, arttypes['art_type'],
arttypes['art_type'], arttypes['filename'], self.target_artworkdir,
arttypes['gui_string'])
if self.settings.tvshow_enable and self.mediatype == 'tvshow':
for arttypes in self.settings.tvshow_arttype_list:
if arttypes['bulk_enabled']:
if arttypes['art_type'] == 'extrafanart':
- _download_art(self, arttypes['art_type'], 'fanart',
arttypes['filename'], self.target_extrafanartdirs, self.targets,
arttypes['gui_string'])
+ _download_art(self, arttypes['art_type'], 'fanart',
arttypes['filename'], self.target_extrafanartdirs, arttypes['gui_string'])
elif arttypes['art_type'] == 'defaultthumb':
- _download_art(self, arttypes['art_type'],
str.lower(self.settings.tvshow_defaultthumb_type), arttypes['filename'],
self.target_artworkdir, self.targets, arttypes['gui_string'])
+ _download_art(self, arttypes['art_type'],
str.lower(self.settings.tvshow_defaultthumb_type), arttypes['filename'],
self.target_artworkdir, arttypes['gui_string'])
else:
- _download_art(self, arttypes['art_type'],
arttypes['art_type'], arttypes['filename'], self.target_artworkdir,
self.targets, arttypes['gui_string'])
+ _download_art(self, arttypes['art_type'],
arttypes['art_type'], arttypes['filename'], self.target_artworkdir,
arttypes['gui_string'])
### Retrieves imagelist for GUI solo mode
@@ -420,7 +463,7 @@ def _gui_solomode_imagelist(self, art_type, image_type):
### Artwork downloading
-def _download_art_solo(self, art_type, image_type, filename, targetdirs,
targets, msg):
+def _download_art_solo(self, art_type, image_type, filename, targetdirs, msg):
log('Starting with processing: %s' %art_type)
self._download_art_succes = False
self.settings.failcount = 0
@@ -463,7 +506,7 @@ def _download_art_solo(self, art_type, image_type,
filename, targetdirs, targets
### Artwork downloading
-def _download_art(self, art_type, image_type, filename, targetdirs, targets,
msg):
+def _download_art(self, art_type, image_type, filename, targetdirs, msg):
log('Starting with processing: %s' %art_type)
self.settings.failcount = 0
current_artwork = 0
@@ -552,7 +595,7 @@ def _gui_solomode(self):
# Download the selected image
if self.gui_imagelist:
if _choose_image(self):
- _download_art_solo(self, self.gui_selected_type,
self.gui_selected_type, self.gui_selected_filename, self.target_artworkdir,
self.targets, self.gui_selected_msg)
+ _download_art_solo(self, self.gui_selected_type,
self.gui_selected_type, self.gui_selected_filename, self.target_artworkdir,
self.gui_selected_msg)
if not self._download_art_succes:
xbmcgui.Dialog().ok(__localize__(32006) , __localize__(32007) )
if not self.gui_imagelist and not self.gui_selected_type == '':
@@ -563,7 +606,7 @@ def _gui_solomode(self):
else:
log('cancelled')
xbmcgui.Dialog().ok(__localize__(32017) , __localize__(32018) )
-
+
# This creates the art type selection dialog. The string id is the selection
constraint for what type has been chosen.
def _choice_type(self):
select = xbmcgui.Dialog().select(__addonname__ + ': ' +
__localize__(32015) , self.GUI_type_list)
@@ -589,16 +632,16 @@ def _choice_type(self):
return True
else:
return False
-
+
def _choose_image(self):
log( "### image list: %s" % self.gui_imagelist)
self.image_url = MyDialog(self.gui_imagelist)
if self.image_url:
return True
else:
- return False
+ return False
+
-
class MainGui( xbmcgui.WindowXMLDialog ):
def __init__( self, *args, **kwargs ):
xbmcgui.WindowXMLDialog.__init__( self )
@@ -630,7 +673,7 @@ class MainGui( xbmcgui.WindowXMLDialog ):
def onAction(self, action):
if action in ACTION_PREVIOUS_MENU:
self.close()
-
+
def onClick(self, controlID):
log( "### control: %s" % controlID )
@@ -651,9 +694,8 @@ def MyDialog(tv_list):
print_exc()
return False
del w
-
-
-
+
+
### Start of script
if (__name__ == "__main__"):
log("######## Extrafanart Downloader:
Initializing...............................")
diff --git a/script.artwork.downloader/readme.txt
b/script.artwork.downloader/readme.txt
index 962a295..5272530 100644
--- a/script.artwork.downloader/readme.txt
+++ b/script.artwork.downloader/readme.txt
@@ -55,7 +55,10 @@ Skins using this Add-On:
- Aeon Nox (made by Big Noid)
- Cirrus Extended (made by Butchabay)
- Transparency [T!] (made by ronie)
- - Aeon MQ3 (made my MarcosQui)
+ - Aeon MQ3 (made by MarcosQui)
+ - Xperience (made by Black)
+ - reFocus (made by Jeroen)
+ - Convergence (made by Mudislander)
----------------------------------------------------------------------------------------------
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/runscript.txt
b/script.artwork.downloader/resources/docs/runscript.txt
index f6ddf59..e20aa2a 100644
--- a/script.artwork.downloader/resources/docs/runscript.txt
+++ b/script.artwork.downloader/resources/docs/runscript.txt
@@ -3,29 +3,62 @@ Extrafanart Downloader: Script functions
These are the available script function for skin integration can be called
from with in the skin
The script searches in the XBMC library for the corresponding values as
described below.
+
+ALL OPTIONS MUST BE LOWERCASE!!
+EXCEPT MOVIE/TVSHOW NAMES THAT MUST MATCH THE LIBRARY
+
+
Code to run script solo:
- XBMC.RunScript(script.extrafanartdownloader, mediatype=?, medianame=?)
+ XBMC.RunScript(script.artwork.downloader, mediatype=?, medianame=?)
+ -> Runs automated using all add-on settings
-Code to run script solo with GUI:
- XBMC.RunScript(script.extrafanartdownloader, mode=gui, mediatype=?,
medianame=?)
+ XBMC.RunScript(script.artwork.downloader, mode=gui, mediatype=?,
medianame=?)
+ -> Runs using the GUI dialog. No add-on settings applied
+ XBMC.runscript(script.artwork.downloader, mode=custom,
mediatype=?,medianame=?,<art_type>,<art_type>,<art_type>)
+ -> downloads according to specified art_type. Use as many as you
like. Only add-on limits apply
+
+
Code to run script bulk mode:
- XBMC.runscript(script.extrafanartdownloader)
- -> downloads according to add-on settings
-
- XBMC.runscript(script.extrafanartdownloader, mediatype=?)
- -> downloads according to media type
+ XBMC.runscript(script.artwork.downloader)
+ -> downloads according to add-on settings
+
+ XBMC.runscript(script.artwork.downloader, mediatype=?)
+ -> downloads according to media type
+
+ XBMC.runscript(script.artwork.downloader, mode=custom,
mediatype=?,<art_type>,<art_type>,<art_type>)
+ -> downloads according to media type and specified art_type. Use
as many as you like
+
+ XBMC.runscript(script.artwork.downloader, mode=custom,
<art_type>,<art_type>,<art_type>)
+ -> downloads for movie and tvshow according to specified art_type.
Use as many as you like
+
+
+Available options "silent=true":
+ Will run script in background mode independent of add-on settings. Only
show pop-up at start/finish
+
Available options "mediatype=?":
- mediatype=movie
- mediatype=tvshow
+ mediatype=movie
+ mediatype=tvshow
+
Available options "mode=?"
- mode=gui (this is at the moment the custom mode available.)
+ mode=gui (user can select from GUI list of enabled arttypes)
+ mode=custom (skinner can specify what artwork he wants to download)
For bulk/solo do not provide "mode=?"
+
Available options "medianame=?":
- Any name/title that fits the corresponding "mediatype="
- -> example: "mediatype=movie" "medianame=Avatar"
- -> example: "mediatype=tvshow" "medianame=House"
+ Any name/title that fits the corresponding "mediatype="
+ -> example: mediatype=movie, medianame=$INFO[ListItem.Title]
+ -> example: mediatype=movie, medianame=Avatar
+ -> example: mediatype=tvshow, medianame=$INFO[ListItem.TVShowTitle]
+ -> example: mediatype=tvshow, medianame=House
+
+
+Available options "<art_type>"
+ List of options a skinners can chose from
+ Movie: poster, fanart, extrafanart, extrathumbs, defaultthumb
+ TV Show: poster, fanart, extrafanart, clearart, clearlogo, tvthumb,
banner, characterart, defaultthumb
+ NOTE: when chosen 'clearlogo' this will download 'logo.png'
diff --git a/script.artwork.downloader/resources/language/English/strings.xml
b/script.artwork.downloader/resources/language/English/strings.xml
index 30eeb66..a891296 100644
--- a/script.artwork.downloader/resources/language/English/strings.xml
+++ b/script.artwork.downloader/resources/language/English/strings.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<strings>
<!-- Add-on messages id=32001 to 32030 -->
- <string id="32001">No settings found!</string>
+ <string id="32001">-</string>
<string id="32002">Different settings version found!</string>
<string id="32003">Faulty/empty settings combination found!</string>
<string id="32004">Select your preferences and press OK to
save</string>
@@ -21,7 +21,7 @@
<string id="32018">Download canceled by user</string>
<string id="32019">Which one to download?</string>
<string id="32020">Downloaded</string>
- <string id="32021">Select your preferences and press OK to
save</string>
+ <string id="32021">-</string>
<string id="32022">not found!</string>
<string id="32023">Run add-on at start-up / login</string>
<string id="32024">Run add-on as a service</string>
@@ -73,9 +73,9 @@
<!-- Add-on settings: Advanced settings section id=32101 to 32020 -->
<string id="32101">Advanced settings</string>
<string id="32102">[B]Some more advanced settings to be
used[/B]</string>
- <string id="32103">Keep backup of all downloaded fanart</string>
- <string id="32104">Backup folder</string>
- <string id="32105">[I]Warning: folder can increase to considerable
size [/I]</string>
+ <string id="32103">-</string>
+ <string id="32104">-</string>
+ <string id="32105">-</string>
<string id="32106">Use XBMC pre-caching [I](caches images to thumnails
folder while downloading) [/I]</string>
<string id="32107">-</string>
<string id="32108">-</string>
@@ -126,5 +126,5 @@
<string id="32191">[I]For bugs, requests or general questions visit
the [/I]</string>
<string id="32192">[I] Artwork Downloader thread on the XBMC forum.
[/I]</string>
<string id="32189">Thanks to:</string>
- <string id="32190">Team XBMC and the devs of the other addons on which
this was based.</string>
+ <string id="32190">Team XBMC and the authors of the other addons on
which this was based.</string>
</strings>
diff --git a/script.artwork.downloader/resources/lib/apply_filters.py
b/script.artwork.downloader/resources/lib/apply_filters.py
index 7f91f3b..ef8b5e3 100644
--- a/script.artwork.downloader/resources/lib/apply_filters.py
+++ b/script.artwork.downloader/resources/lib/apply_filters.py
@@ -3,6 +3,7 @@ import xbmcaddon
from resources.lib.fileops import fileops
from resources.lib.settings import _settings
from resources.lib import language
+from resources.lib.utils import _log as log
__language__ = language.get_abbrev()
@@ -34,8 +35,8 @@ class apply_filters:
elif art_type == 'seasonbanner':
return self.seasonbanner(mediatype, artwork, downloaded_artwork)
- elif art_type == 'logo':
- return self.logo(mediatype, artwork, downloaded_artwork)
+ elif art_type == 'clearlogo':
+ return self.clearlogo(mediatype, artwork, downloaded_artwork)
elif art_type == 'clearart':
return self.clearart(mediatype, artwork, downloaded_artwork)
@@ -166,7 +167,7 @@ class apply_filters:
limited = True
return [limited, reason]
- def logo(self, mediatype, artwork, downloaded_artwork):
+ def clearlogo(self, mediatype, artwork, downloaded_artwork):
limited = False
reason = ''
if downloaded_artwork >= self.settings.limit_artwork_max:
diff --git a/script.artwork.downloader/resources/lib/settings.py
b/script.artwork.downloader/resources/lib/settings.py
index 1491931..4835a5a 100644
--- a/script.artwork.downloader/resources/lib/settings.py
+++ b/script.artwork.downloader/resources/lib/settings.py
@@ -54,12 +54,9 @@ class _settings:
self.tvshow_defaultthumb_type =
__addon__.getSetting("tvshow_defaultthumb_type")
self.centralize_enable =
__addon__.getSetting("centralize_enable") == 'true'
- self.centralfolder_split =
__addon__.getSetting("centralfolder_split")
self.centralfolder_movies =
__addon__.getSetting("centralfolder_movies")
self.centralfolder_tvshows =
__addon__.getSetting("centralfolder_tvshows")
- self.backup_enabled = __addon__.getSetting("backup_enabled")
== 'true'
- self.backup_path = __addon__.getSetting("backup_path")
self.background = __addon__.getSetting("background") ==
'true'
self.notify = __addon__.getSetting("notify") == 'true'
self.service_startup = __addon__.getSetting("service_startup")
== 'true'
@@ -68,13 +65,18 @@ class _settings:
self.files_overwrite = __addon__.getSetting("files_overwrite")
== 'true'
self.xbmc_caching_enabled =
__addon__.getSetting("xbmc_caching_enabled") == 'true'
+ # temporary force these to false
+ self.tvshow_seasonposter = False
+ self.tvshow_seasonbanner = False
+ self.tvshow_seasonthumbs = False
+
def _get_limit(self):
- self.limit_artwork = __addon__.getSetting("limit_artwork") == 'true'
+ self.limit_artwork =
__addon__.getSetting("limit_artwork") == 'true'
self.limit_extrafanart_max =
int(__addon__.getSetting("limit_extrafanart_max").rstrip('0').rstrip('.'))
self.limit_extrafanart_rating =
int(__addon__.getSetting("limit_extrafanart_rating").rstrip('0').rstrip('.'))
self.limit_size_moviefanart =
int(__addon__.getSetting("limit_size_moviefanart"))
self.limit_size_tvshowfanart =
int(__addon__.getSetting("limit_size_tvshowfanart"))
- self.limit_extrathumbs = self.limit_artwork
+ self.limit_extrathumbs = 'true'
self.limit_extrathumbs_max = 4
self.limit_artwork_max = 1
self.limit_language =
__addon__.getSetting("limit_language") == 'true'
@@ -116,6 +118,7 @@ class _settings:
log('##')
log('## TV Show Artwork = %s' % str(self.tvshow_enable))
log('## - Poster = %s' % str(self.tvshow_poster))
+ log('## - Season Poster = %s' % str(self.tvshow_seasonposter))
log('## - Fanart = %s' % str(self.tvshow_fanart))
log('## - ExtraFanart = %s' % str(self.tvshow_extrafanart))
log('## - Clearart = %s' % str(self.tvshow_clearart))
@@ -142,33 +145,10 @@ class _settings:
log('## - Language = %s' % str(self.limit_language))
log('## - Fanart with no text = %s' % str(self.limit_notext))
log('##')
- log('## Backup fanart = %s' % str(self.backup_enabled))
- log('## Backup folder = %s' % str(self.backup_path))
log('## XBMC caching enabled = %s' % str(self.xbmc_caching_enabled))
log('##')
log('## End of Settings...')
- ### Check if settings.xml exist and version check
- def _exist(self):
- first_run = True
- while first_run:
- # no settings.xml found
- if not os.path.isfile(settings_file):
- dialog('okdialog', line1 = __localize__(32001), line2 =
__localize__(32021))
- log('## Settings.xml file not found. Opening settings window.')
- __addon__.openSettings()
- time.sleep(1)
- __addon__.setSetting(id="addon_version", value=__version__)
- # different version settings.xml found
- if os.path.isfile(settings_file) and
__addon__.getSetting("addon_version") <> __version__:
- dialog('okdialog', line1 = __localize__(32002), line2 =
__localize__(32021))
- log('## Addon version is different. Opening settings window.')
- __addon__.openSettings()
- __addon__.setSetting(id="addon_version", value=__version__)
- else:
- first_run = False
- __addon__.setSetting(id="addon_version", value=__version__)
- log('## Correct version of settings.xml file found. Continue with
initializing.')
### Create list for Artwork types to download
def _artype_list(self):
@@ -227,7 +207,7 @@ class _settings:
info['bulk_enabled'] = self.movie_defaultthumb
info['solo_enabled'] = 'true'
info['gui_string'] = __localize__(32133)
- info['art_type'] = 'poster'
+ info['art_type'] = 'defaultthumb'
info['filename'] = 'folder.jpg'
self.movie_arttype_list.append(info)
@@ -326,21 +306,17 @@ class _settings:
info['gui_string'] = __localize__(32133)
info['art_type'] = 'defaultthumb'
info['filename'] = 'folder.jpg'
- self.tvshow_arttype_list.append(info)
-
-
+ self.tvshow_arttype_list.append(info)
+
+
### Check for faulty setting combinations
- def _check(self):
+ def _check(self):
settings_faulty = True
- check_sections = check_movie = check_tvshow = check_centralize =
check_cache = True
while settings_faulty:
+ settings_faulty = True
+ check_movie = check_tvshow = check_centralize = True
# re-check settings after posible change
- self._get()
- # Check if artwork section enabled
- if not (self.movie_enable or self.tvshow_enable):
- check_sections = False
- log('Setting check: No artwork section enabled')
- else: check_sections = True
+ self._get()
# Check if faulty setting in movie section
if self.movie_enable:
if not self.movie_fanart and not self.movie_extrafanart and
not self.movie_extrathumbs and not self.movie_poster and not
self.movie_defaultthumb:
@@ -359,18 +335,12 @@ class _settings:
check_centralize = False
log('Setting check: No centralized folder chosen')
else: check_centralize = True
- # Check if faulty setting in cache section
- if self.backup_enabled:
- if self.backup_path == '':
- check_cache = False
- log('Setting check: No cache folder chosen')
- else: check_cache = True
# Compare all setting check
- if check_sections and check_movie and check_tvshow and
check_centralize and check_cache:
+ if check_movie and check_tvshow and check_centralize:
settings_faulty = False
else: settings_faulty = True
# Faulty setting found
if settings_faulty:
log('Faulty setting combination found')
dialog('okdialog', line1 = __localize__(32003), line2 =
__localize__(32004))
- __addon__.openSettings()
\ No newline at end of file
+ __addon__.openSettings()
\ No newline at end of file
diff --git a/script.artwork.downloader/resources/settings.xml
b/script.artwork.downloader/resources/settings.xml
index 702d8fb..fc92035 100644
--- a/script.artwork.downloader/resources/settings.xml
+++ b/script.artwork.downloader/resources/settings.xml
@@ -20,7 +20,7 @@
<setting type="sep" />
<setting label="32052" type="lsep" />
<setting type="sep" />
- <setting label="32051" id="limit_artwork" type="bool"
default="false"/>
+ <setting label="32051" id="limit_artwork" type="bool"
default="true"/>
<setting label="32053" id="limit_extrafanart_max" subsetting="true"
type="slider" enable="eq(-1,true)" visible="eq(-1,true)"
default="20" range="5,5,100" option="int" />
<setting label="32054" id="limit_extrafanart_rating" subsetting="true"
type="slider" enable="eq(-2,true)" visible="eq(-2,true)"
default="5" range="0,10" option="int" />
<setting label="32055" id="limit_language" subsetting="true"
type="bool" enable="eq(-3,true)" visible="eq(-3,true)"
default="true" />
@@ -36,14 +36,14 @@
<setting type="sep" />
<setting label="32072" type="lsep" />
<setting type="sep" />
- <setting label="32013" type="bool" id="movie_enable"
default="false" />
- <setting label="32128" type="bool" id="movie_poster"
subsetting="true" enable="eq(-1,true)" default="false" />
- <setting label="32121" type="bool" id="movie_fanart"
subsetting="true" enable="eq(-2,true)" default="false" />
- <setting label="32122" type="bool" id="movie_extrafanart"
subsetting="true" enable="eq(-3,true)" default="false" />
- <setting label="32131" type="bool" id="movie_extrathumbs"
subsetting="true" enable="eq(-4,true)" default="false" />
+ <setting label="32013" type="bool" id="movie_enable"
default="true" />
+ <setting label="32128" type="bool" id="movie_poster"
subsetting="true" enable="eq(-1,true)" default="true" />
+ <setting label="32121" type="bool" id="movie_fanart"
subsetting="true" enable="eq(-2,true)" default="true" />
+ <setting label="32122" type="bool" id="movie_extrafanart"
subsetting="true" enable="eq(-3,true)" default="true" />
+ <setting label="32131" type="bool" id="movie_extrathumbs"
subsetting="true" enable="eq(-4,true)" default="true" />
<setting label="32126" type="bool" id="movie_logo"
subsetting="true" enable="eq(-5,true)" default="false" visible="false" />
<setting label="32132" type="bool" id="movie_discart"
subsetting="true" enable="eq(-6,true)" default="false" visible="false" />
- <setting label="32133" type="bool" id="movie_defaultthumb"
subsetting="true" enable="eq(-7,true)" default="false" />
+ <setting label="32133" type="bool" id="movie_defaultthumb"
subsetting="true" enable="eq(-7,true)" default="true" />
</category>
<!-- Plugin settings: TV Show section -->
@@ -51,33 +51,22 @@
<setting type="sep" />
<setting label="32082" type="lsep" />
<setting type="sep" />
- <setting label="32013" type="bool" id="tvshow_enable"
default="false" />
- <setting label="32128" type="bool" id="tvshow_poster"
subsetting="true" enable="eq(-1,true)" default="false" />
+ <setting label="32013" type="bool" id="tvshow_enable"
default="true" />
+ <setting label="32128" type="bool" id="tvshow_poster"
subsetting="true" enable="eq(-1,true)" default="true" />
<setting label="32129" type="bool" id="tvshow_seasonposter"
subsetting="true" enable="false" default="false" visible="false" />
- <setting label="32121" type="bool" id="tvshow_fanart"
subsetting="true" enable="eq(-3,true)" default="false" />
- <setting label="32122" type="bool" id="tvshow_extrafanart"
subsetting="true" enable="eq(-4,true)" default="false" />
- <setting label="32125" type="bool" id="tvshow_clearart"
subsetting="true" enable="eq(-5,true)" default="false" />
+ <setting label="32121" type="bool" id="tvshow_fanart"
subsetting="true" enable="eq(-3,true)" default="true" />
+ <setting label="32122" type="bool" id="tvshow_extrafanart"
subsetting="true" enable="eq(-4,true)" default="true" />
+ <setting label="32125" type="bool" id="tvshow_clearart"
subsetting="true" enable="eq(-5,true)" default="true" />
<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="false" />
- <setting label="32123" type="bool" id="tvshow_showbanner"
subsetting="true" enable="eq(-8,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" visible="false" />
- <setting label="32130" type="bool" id="tvshow_thumb"
subsetting="true" enable="eq(-10,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" visible="false" />
- <setting label="32133" type="bool" id="tvshow_defaultthumb"
subsetting="true" enable="eq(-12,true)" default="false" />
+ <setting label="32133" type="bool" id="tvshow_defaultthumb"
subsetting="true" enable="eq(-12,true)" default="true" />
<setting label="32083" type="labelenum" id="tvshow_defaultthumb_type"
subsetting="true" lvalues="32128|32123|32130" default="Poster"
visible="eq(-13,true)" enable="eq(-1,true)"/>
</category>
-<!-- Plugin settings: Music section -->
-<!-- <category label="32091" id="section_music">
- <setting type="sep" />
- <setting label="32092" type="lsep" />
- <setting type="sep" />
- <setting label="32013" type="bool" id="music_enable" default="false" />
- <setting label="32122" type="bool" id="music_extrafanart" subsetting=
"true" enable="eq(-1,true)" default="false" />
- <setting label="32125" type="bool" id="music_clearart" subsetting=
"true" enable="eq(-2,true)" default="false" />
- <setting label="32126" type="bool" id="music_logo" subsetting= "true"
enable="eq(-3,true)" default="false" />
- </category> -->
-
<!-- Plugin settings: Advanced section -->
<category label="32101" id="section_advanced">
<setting type="sep" />
@@ -89,10 +78,6 @@
<setting label="32038" id="centralfolder_movies" type="folder"
default="" subsetting="true" source="auto" option="writeable"
enable="eq(-1,true)" visible="eq(-1,true)"/>
<setting label="32037" id="centralfolder_tvshows" type="folder"
default="" subsetting="true" source="auto" option="writeable"
enable="eq(-2,true)" visible="eq(-2,true)"/>
<setting type="sep" />
- <setting label="32103" id="backup_enabled" type="bool"
default="false" enable="false"/>
- <setting label="32105" type="lsep" visible="eq(-1,true)" />
- <setting label="32104" id="backup_path" type="folder"
default="" subsetting="true" source="auto" option="writeable"
enable="eq(-2,true)" visible="eq(-2,true)"/>
- <setting type="sep" />
<setting label="32106" id="xbmc_caching_enabled" type="bool"
default="false" enable="false"/>
</category>
-----------------------------------------------------------------------
Summary of changes:
script.artwork.downloader/addon.xml | 2 +-
script.artwork.downloader/changelog.txt | 7 +
script.artwork.downloader/default.py | 138 +++++++++++++-------
script.artwork.downloader/readme.txt | 5 +-
.../resources/docs/runscript.txt | 61 +++++++--
.../resources/language/English/strings.xml | 12 +-
.../resources/lib/apply_filters.py | 7 +-
.../resources/lib/settings.py | 66 +++-------
script.artwork.downloader/resources/settings.xml | 47 +++-----
9 files changed, 193 insertions(+), 152 deletions(-)
mode change 100755 => 100644 script.artwork.downloader/LICENSE.txt
mode change 100755 => 100644 script.artwork.downloader/addon.xml
mode change 100755 => 100644 script.artwork.downloader/default.py
hooks/post-receive
--
Scripts
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure
contains a definitive record of customers, application performance,
security threats, fraudulent activity, and more. Splunk takes this
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons