The branch, gotham has been updated
via d3110b0eef43e8ad8be8be157d39852807318f9d (commit)
via 6429e8e2589837eab64389b6700b26fc4690f394 (commit)
via b16ad6aa1ea1a4b07c4d0eb29ad52f1bfe17b7d5 (commit)
via 256e645bedde853fed34e0dd9efd9ad5ec1639bc (commit)
from 59e0e434fc43bc98c7f8ff2dbf19b75bdf6ec3af (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=d3110b0eef43e8ad8be8be157d39852807318f9d
commit d3110b0eef43e8ad8be8be157d39852807318f9d
Author: Martijn Kaijser <[email protected]>
Date: Sun Jul 27 18:58:51 2014 +0200
[service.subtitles.legendastv] 2.2.3
diff --git a/service.subtitles.legendastv/addon.xml
b/service.subtitles.legendastv/addon.xml
index 519bd9c..3d17b18 100644
--- a/service.subtitles.legendastv/addon.xml
+++ b/service.subtitles.legendastv/addon.xml
@@ -2,7 +2,7 @@
<addon
id="service.subtitles.legendastv"
name="Legendas.TV"
- version="2.2.2"
+ version="2.2.3"
provider-name="gfjardim">
<requires>
<import addon="xbmc.python" version="2.14.0"/>
diff --git a/service.subtitles.legendastv/changelog.txt
b/service.subtitles.legendastv/changelog.txt
index b597f3f..c3dd1ad 100644
--- a/service.subtitles.legendastv/changelog.txt
+++ b/service.subtitles.legendastv/changelog.txt
@@ -1,3 +1,6 @@
+2.2.3
+- Change the way pack's are detected
+
2.2.2
- Fix a bug with stream sites not parsing a valid filename (thanks to
Mafarricos)
diff --git a/service.subtitles.legendastv/resources/lib/LegendasTV.py
b/service.subtitles.legendastv/resources/lib/LegendasTV.py
index 73b2a92..ca29ba1 100644
--- a/service.subtitles.legendastv/resources/lib/LegendasTV.py
+++ b/service.subtitles.legendastv/resources/lib/LegendasTV.py
@@ -2,7 +2,6 @@
# Copyright, 2010, Guilherme Jardim.
# This program is distributed under the terms of the GNU General Public
License, version 3.
# http://www.gnu.org/licenses/gpl.txt
-# Rev. 2.1.3
def module_exists(module_name):
try:
@@ -31,7 +30,7 @@ else:
# Service variables
sub_ext = 'srt aas ssa sub smi'
global regex_1, regex_2, regex_3
-regex_1 = "<div class=\"f_left\"><p><a href=\"([^\"]*)\">([^<]*)</a></p><p
class=\"data\">.*?downloads, nota (\d*?),.*?<img .*? title=\"([^\"]*)\"
/></div>"
+regex_1 = "<div class=\"([^\"]*?)\">\s*?<span class=\"number .*?<div
class=\"f_left\"><p><a href=\"([^\"]*)\">([^<]*)</a></p><p
class=\"data\">.*?downloads, nota (\d*?),.*?<img .*? title=\"([^\"]*)\"
/></div>"
regex_2 = "class=\"load_more\""
regex_3 = "<button class=\"icon_arrow\" onclick=\"window.open\(\'([^\']*?)\',
\'_self\'\)\">DOWNLOAD</button>"
@@ -296,11 +295,12 @@ class LegendasTV:
else:
for x, content in enumerate(re.findall(regex_1, Response,
re.IGNORECASE | re.DOTALL), start=1):
LanguageName, LanguageFlag, LanguagePreference = "", "", 0
- download_id = "%s%s" % ("http://minister.legendas.tv",
content[0])
- title = normalizeString(content[1])
- release = normalizeString(content[1])
- rating = content[2]
- lang = normalizeString(content[3])
+ download_id = "%s%s" % ("http://minister.legendas.tv",
content[1])
+ release_type = content[0] if not content[0] == "" else "normal"
+ title = normalizeString(content[2])
+ release = normalizeString(content[2])
+ rating = content[3]
+ lang = normalizeString(content[4])
if re.search("Portugues-BR", lang): LanguageId = "pb"
elif re.search("Portugues-PT", lang): LanguageId = "pt"
elif re.search("Ingles", lang): LanguageId = "en"
@@ -328,7 +328,8 @@ class LegendasTV:
"sync": False,
"rating":rating,
"language_flag": LanguageFlag,
- "language_preference":
int(LanguagePreference) })
+ "language_preference":
int(LanguagePreference),
+ "type" : release_type})
self.Log("Message: Retrieved [%s] results for page [%s],
Movie[%s], Id[%s]." % (x, Page, MainID["title"], MainID["id"]))
@@ -397,9 +398,11 @@ class LegendasTV:
if TVShow:
Episodes, Packs = [], []
for DownloadsResult in self.DownloadsResults:
- if re.search("\(PACK", DownloadsResult["filename"]):
- DownloadsResult["filename"] = re.sub("\(PACK[^\)]*?\)",
"", DownloadsResult["filename"])
- if re.search("(^|\s|[.])[Ss]%.2d(\.|\s|$)" % int(Season),
DownloadsResult["filename"]):
+ if DownloadsResult["type"] == "pack":
+ if re.search("\(PACK", DownloadsResult["filename"]):
+ DownloadsResult["filename"] =
re.sub("\(PACK[^\)]*?\)", "", DownloadsResult["filename"])
+ if re.search("\([Pp]\)", DownloadsResult["filename"]):
+ DownloadsResult["filename"] = re.sub("\([Pp]\)", "",
DownloadsResult["filename"])
DownloadsResult["filename"] = "(PACK) " +
DownloadsResult["filename"]
Packs.append(DownloadsResult)
elif re.search("[Ss]%.2d[Ee]%.2d" % (int(Season),
int(Episode)), DownloadsResult["filename"]):
@@ -417,9 +420,9 @@ class LegendasTV:
# # Log final results
self.Log(" ")
self.Log("Included results:")
- self._log_List_dict(IncludedResults, "filename language_name
language_preference ID")
+ self._log_List_dict(IncludedResults, "filename language_name
language_preference type")
self.Log("Excluded results:")
- self._log_List_dict(ExcludedResult, "filename language_name
language_preference ID")
- self.Log("Message: The service took %s seconds to complete." %
(time.time() - startTime))
+ self._log_List_dict(ExcludedResult, "filename language_name
language_preference type")
+ self.Log("Message: The service took %0.2f seconds to complete." %
(time.time() - startTime))
# Return results
return IncludedResults
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=6429e8e2589837eab64389b6700b26fc4690f394
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=b16ad6aa1ea1a4b07c4d0eb29ad52f1bfe17b7d5
commit b16ad6aa1ea1a4b07c4d0eb29ad52f1bfe17b7d5
Author: Martijn Kaijser <[email protected]>
Date: Sun Jul 27 18:55:49 2014 +0200
[script.artistslideshow-helper] 0.3.6
diff --git a/script.artistslideshow-helper/addon.xml
b/script.artistslideshow-helper/addon.xml
index 6c858f1..dbccbaf 100755
--- a/script.artistslideshow-helper/addon.xml
+++ b/script.artistslideshow-helper/addon.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<addon id="script.artistslideshow-helper" name="Artist Slideshow Helper"
version="0.3.5" provider-name="pkscout">
+<addon id="script.artistslideshow-helper" name="Artist Slideshow Helper"
version="0.3.6" provider-name="pkscout">
<requires>
<import addon="xbmc.python" version="2.14.0"/>
<import addon="xbmc.addon" version="12.0.0"/>
diff --git a/script.artistslideshow-helper/changelog.txt
b/script.artistslideshow-helper/changelog.txt
index 911ebb0..8068f52 100644
--- a/script.artistslideshow-helper/changelog.txt
+++ b/script.artistslideshow-helper/changelog.txt
@@ -1,3 +1,8 @@
+v.0.3.6
+- fix for moving files from local file system to remote file system
+- added background progress dialog for artwork migration status
+- fix for crash when using smb file paths
+
v.0.3.5
- fix for required xbmc python version
diff --git a/script.artistslideshow-helper/default.py
b/script.artistslideshow-helper/default.py
index d5a9e07..5f09eba 100755
--- a/script.artistslideshow-helper/default.py
+++ b/script.artistslideshow-helper/default.py
@@ -3,7 +3,9 @@
# * original Artist Slideshow Helper code by pkscuot
# *
+from __future__ import division
import xbmc, xbmcaddon, xbmcvfs
+from xbmcgui import DialogProgressBG
import os, sys
if sys.version_info >= (2, 7):
import json as _json
@@ -31,8 +33,6 @@ lw = Logger( preamble=__preamble__, logdebug=__logdebug__ )
class Main:
def __init__( self ):
- command = 'XBMC.Notification(%s, %s, %s, %s)' %
(smartUTF8(__language__(30300)), smartUTF8(__language__(30301)), 5000,
smartUTF8(__addonicon__))
- xbmc.executebuiltin(command)
self._init_vars()
self._get_settings()
self._make_dirs()
@@ -59,17 +59,17 @@ class Main:
hashmap_str = hashmap_str + value + '\t' + key + '\n'
success, log_line = writeFile( hashmap_str, self.HASHLISTFILE )
if success:
- message = __language__(30311)
lw.log( log_line )
+ message = smartUTF8( __language__(30311) )
else:
- message = __language__(30312)
lw.log( ['unable to write has list file out to disk'] )
- command = 'XBMC.Notification(%s, %s, %s, %s)' %
(smartUTF8(__language__(30310)), smartUTF8(message), 5000,
smartUTF8(__addonicon__))
- xbmc.executebuiltin(command)
+ message = smartUTF8( __language__(30312) )
def _get_artists_hashmap( self ):
#gets a list of all the artists from XBMC
+ pDialog = DialogProgressBG()
+ pDialog.create( smartUTF8(__language__(32001)),
smartUTF8(__language__(30301)) )
hashmap = _ordereddict()
response = xbmc.executeJSONRPC ( '{"jsonrpc":"2.0",
"method":"AudioLibrary.GetArtists", "params":{"albumartistsonly":false,
"sort":{"order":"ascending", "ignorearticle":true, "method":"artist"}},"id":
1}}' )
try:
@@ -80,10 +80,15 @@ class Main:
lw.log( ['unexpected error getting JSON back from XBMC', e] )
artists_info = []
if artists_info:
+ total = len( artists_info )
+ count = 1
for artist_info in artists_info:
artist_hash = itemHash( artist_info['artist'] )
hashmap[artist_hash] = artist_info['artist']
+ pDialog.update(int(100*(count/total)), smartUTF8(
__language__(32001) ), smartUTF8( artist_info['artist'] ) )
+ count += 1
hashmap[itemHash( "Various Artists" )] = "Various Artists"
+ pDialog.close()
return hashmap
@@ -137,14 +142,17 @@ class Main:
test_str = ''
hashmap = self._get_artists_hashmap()
try:
- os.chdir( self.ASCACHEFOLDER )
- folders = os.listdir( self.ASCACHEFOLDER )
+ folders, throwaway = xbmcvfs.listdir( self.ASCACHEFOLDER )
except OSError:
lw.log( ['no directory found: ' + self.ASCACHEFOLDER] )
return
except Exception, e:
lw.log( ['unexpected error while getting directory list', e] )
return
+ pDialog = DialogProgressBG()
+ pDialog.create( smartUTF8(__language__(32003)),
smartUTF8(__language__(30301)) )
+ total = len( folders )
+ count = 1
for folder in folders:
try:
artist_name = hashmap[folder]
@@ -155,14 +163,14 @@ class Main:
lw.log( ['unexpected error while finding matching artist for '
+ folder, e] )
artist_name = ''
if artist_name and not (artist_name.find('/') != -1):
+ pDialog.update(int(100*(count/total)), smartUTF8(
__language__(32003) ), smartUTF8( artist_name ) )
old_folder = os.path.join( self.ASCACHEFOLDER, folder )
new_folder = os.path.join( self.MIGRATEFOLDER, artist_name,
'extrafanart' )
if self.MIGRATETYPE == 'copy' or self.MIGRATETYPE == 'move':
exists, loglines = checkPath( new_folder )
lw.log( loglines )
try:
- os.chdir( old_folder )
- files = os.listdir( old_folder )
+ throwaway, files = xbmcvfs.listdir( old_folder )
except OSError:
lw.log( ['no directory found: ' + old_folder] )
return
@@ -174,22 +182,25 @@ class Main:
old_file = os.path.join(old_folder, file)
new_file = os.path.join(new_folder, file)
if self.MIGRATETYPE == 'move':
- xbmcvfs.rename( old_file, new_file )
+ xbmcvfs.copy( old_file, new_file )
+ xbmcvfs.delete( old_file )
elif self.MIGRATETYPE == 'copy':
xbmcvfs.copy( old_file, new_file )
else:
test_str = test_str + old_file + ' to ' + new_file +
'\n'
if self.MIGRATETYPE == 'move':
xbmcvfs.rmdir ( old_folder )
+ count += 1
if self.MIGRATETYPE == 'test':
success, loglines = writeFile( test_str, os.path.join(
self.MIGRATEFOLDER, '_migrationtest.txt' ) )
lw.log( loglines )
- command = 'XBMC.Notification(%s, %s, %s, %s)' %
(smartUTF8(__language__(30330)), smartUTF8(__language__(30331)), 5000,
smartUTF8(__addonicon__))
- xbmc.executebuiltin( command )
+ pDialog.close()
if ( __name__ == "__main__" ):
lw.log( ['script version %s started' % __addonversion__], xbmc.LOGNOTICE )
lw.log( ['debug logging set to %s' % __logdebug__], xbmc.LOGNOTICE )
Main()
+ command = 'XBMC.Notification(%s, %s, %s, %s)' %
(smartUTF8(__language__(30330)), smartUTF8(__language__(30331)), 3000,
smartUTF8(__addonicon__))
+ xbmc.executebuiltin( command )
lw.log( ['script stopped'], xbmc.LOGNOTICE )
diff --git a/script.artistslideshow-helper/resources/common/fileops.py
b/script.artistslideshow-helper/resources/common/fileops.py
index 69131e0..e408b40 100644
--- a/script.artistslideshow-helper/resources/common/fileops.py
+++ b/script.artistslideshow-helper/resources/common/fileops.py
@@ -1,12 +1,18 @@
-# v.0.3.2
+# v.0.3.3
-import os
try:
- import xbmcvfs.mkdirs as _mkdirs
- import xbmcvfs.exists as _exists
- import xbmcvfs.delete as _delete
- import xbmcvfs.File as _file
+ import xbmcvfs
+ isXBMC = True
except:
+ import os
+ isXBMC= False
+
+if isXBMC:
+ _mkdirs = xbmcvfs.mkdirs
+ _exists = xbmcvfs.exists
+ _delete = xbmcvfs.delete
+ _file = xbmcvfs.File
+else:
_mkdirs = os.makedirs
_exists = os.path.exists
_delete = os.remove
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=256e645bedde853fed34e0dd9efd9ad5ec1639bc
commit 256e645bedde853fed34e0dd9efd9ad5ec1639bc
Author: Martijn Kaijser <[email protected]>
Date: Sun Jul 27 18:55:08 2014 +0200
[script.artistslideshow] 1.6.8
diff --git a/script.artistslideshow/addon.xml b/script.artistslideshow/addon.xml
index fa4d542..8572677 100755
--- a/script.artistslideshow/addon.xml
+++ b/script.artistslideshow/addon.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<addon id="script.artistslideshow" name="Artist Slideshow" version="1.6.7"
provider-name="ronie|pkscout">
+<addon id="script.artistslideshow" name="Artist Slideshow" version="1.6.8"
provider-name="ronie|pkscout">
<requires>
<import addon="xbmc.python" version="2.14.0"/>
<import addon="xbmc.addon" version="12.0.0"/>
diff --git a/script.artistslideshow/changelog.txt
b/script.artistslideshow/changelog.txt
index 0b49b0e..1c77067 100755
--- a/script.artistslideshow/changelog.txt
+++ b/script.artistslideshow/changelog.txt
@@ -1,3 +1,8 @@
+v.1.6.8
+- fix for crash when using smb path
+- cleaned up startup process to better deal with script being started twice
+- added new window property Artistslideshow.ArtworkReady (true if artwork
available)
+
v.1.6.7
- fix for required xbmc python version
diff --git a/script.artistslideshow/default.py
b/script.artistslideshow/default.py
index 85f14ca..9a2153b 100755
--- a/script.artistslideshow/default.py
+++ b/script.artistslideshow/default.py
@@ -1,7 +1,7 @@
# * Credits:
# *
# * original Artist Slideshow code by ronie
-# * updates and additions since v1.3.0 by pkscuot
+# * updates and additions since v1.3.0 by pkscout
# *
# * divingmule for script.image.lastfm.slideshow
# * grajen3 for script.ImageCacher
@@ -101,13 +101,14 @@ LANGUAGES = (
class Main:
def __init__( self ):
self._parse_argv()
- self._get_settings()
- self._init_vars()
- self._make_dirs()
- self._upgrade()
+ self._init_window()
if self._get_infolabel( self.ARTISTSLIDESHOWRUNNING ) == "True":
lw.log( ['script already running'] )
else:
+ self._get_settings()
+ self._init_vars()
+ self._make_dirs()
+ self._upgrade()
self.LastCacheTrim = 0
self._set_property("ArtistSlideshowRunning", "True")
if( xbmc.Player().isPlayingAudio() == False and
self._get_infolabel( self.EXTERNALCALL ) == '' ):
@@ -140,6 +141,10 @@ class Main:
else:
self._clear_properties()
break
+ try:
+ slideshow._set_property("ArtistSlideshow.CleanupComplete",
"True")
+ except Exception, e:
+ lw.log( ['unexpected error while setting property.', e] )
def _clean_dir( self, dir_path ):
@@ -616,7 +621,7 @@ class Main:
if self.LocalImagesFound:
lw.log( ['local images found'] )
if self.ARTISTNUM == 1:
- self._set_property("ArtistSlideshow", self.CacheDir)
+ self._set_artwork_skininfo( self.CacheDir )
if self.ARTISTINFO == "true":
self._get_artistinfo()
if self.TOTALARTISTS > 1:
@@ -838,30 +843,28 @@ class Main:
lw.log( ['set fanart folder to %s' % self.FANARTFOLDER] )
else:
self.FANARTFOLDER = 'extrafanart'
- if __addon__.getSetting( "transparent" ) == 'true':
- self._set_property("ArtistSlideshowTransparent", 'true')
- self.InitDir = xbmc.translatePath('%s/resources/transparent' %
__addonpath__ ).decode('utf-8')
- else:
- self._set_property("ArtistSlideshowTransparent", '')
- self.InitDir = xbmc.translatePath('%s/resources/black' %
__addonpath__ ).decode('utf-8')
def _init_vars( self ):
self.DATAROOT = xbmc.translatePath('special://profile/addon_data/%s' %
__addonname__ ).decode('utf-8')
self.CHECKFILE = os.path.join( self.DATAROOT, 'migrationcheck.nfo' )
- self.WINDOW = xbmcgui.Window( int(self.WINDOWID) )
- self.SKININFO = {}
self._set_property( "ArtistSlideshow.CleanupComplete" )
+ self._set_property( "ArtistSlideshow.ArtworkReady" )
+ self.SKININFO = {}
for item in self.FIELDLIST:
if self.PASSEDFIELDS[item]:
self.SKININFO[item[0:-5]] = "Window(%s).Property(%s)" % (
self.WINDOWID, self.PASSEDFIELDS[item] )
else:
self.SKININFO[item[0:-5]] = ''
- self.ARTISTSLIDESHOW = "Window(%s).Property(%s)" % ( self.WINDOWID,
"ArtistSlideshow" )
- self.ARTISTSLIDESHOWRUNNING = "Window(%s).Property(%s)" % (
self.WINDOWID, "ArtistSlideshowRunning" )
- self.EXTERNALCALL = "Window(%s).Property(%s)" % ( self.WINDOWID,
"ArtistSlideshow.ExternalCall" )
self.EXTERNALCALLSTATUS = self._get_infolabel( self.EXTERNALCALL )
lw.log( ['external call is set to ' + self._get_infolabel(
self.EXTERNALCALL )] )
+ if __addon__.getSetting( "transparent" ) == 'true':
+ self._set_property("ArtistSlideshowTransparent", 'true')
+ self.InitDir = xbmc.translatePath('%s/resources/transparent' %
__addonpath__ ).decode('utf-8')
+ else:
+ self._set_property("ArtistSlideshowTransparent", '')
+ self.InitDir = xbmc.translatePath('%s/resources/black' %
__addonpath__ ).decode('utf-8')
+ self._set_property("ArtistSlideshow", self.InitDir)
self.NAME = ''
self.ALLARTISTS = []
self.MBID = ''
@@ -877,7 +880,6 @@ class Main:
self.MINREFRESH = 9.9
self.TransitionDir =
xbmc.translatePath('special://profile/addon_data/%s/transition' % __addonname__
).decode('utf-8')
self.MergeDir =
xbmc.translatePath('special://profile/addon_data/%s/merge' % __addonname__
).decode('utf-8')
- self._set_property("ArtistSlideshow", self.InitDir)
LastfmApiKey = 'afe7e856e4f4089fc90f841980ea1ada'
fanarttvApiKey = '7a93c84fe1c9999e6f0fec206a66b0f5'
theaudiodbApiKey = '193621276b2d731671156g'
@@ -895,6 +897,13 @@ class Main:
self.HtbackdropsDownloadURL = 'http://htbackdrops.org/api/' +
HtbackdropsApiKey + '/download/'
+ def _init_window( self ):
+ self.WINDOW = xbmcgui.Window( int(self.WINDOWID) )
+ self.ARTISTSLIDESHOW = "Window(%s).Property(%s)" % ( self.WINDOWID,
"ArtistSlideshow" )
+ self.ARTISTSLIDESHOWRUNNING = "Window(%s).Property(%s)" % (
self.WINDOWID, "ArtistSlideshowRunning" )
+ self.EXTERNALCALL = "Window(%s).Property(%s)" % ( self.WINDOWID,
"ArtistSlideshow.ExternalCall" )
+
+
def _make_dirs( self ):
exists, loglines = checkPath( self.InitDir )
lw.log( loglines )
@@ -921,7 +930,7 @@ class Main:
self._wait( self.MINREFRESH - (wait_elapsed + 2) ) #not sure
why there needs to be a manual adjustment here
if not self._playback_stopped_or_changed():
lw.log( ['switching slideshow to merge directory'] )
- self._set_property("ArtistSlideshow", self.MergeDir)
+ self._set_artwork_skininfo( self.MergeDir )
def _migrate_info_files( self ):
@@ -1037,10 +1046,10 @@ class Main:
def _refresh_image_directory( self ):
if( self._get_infolabel( self.ARTISTSLIDESHOW ).decode('utf-8') ==
self.TransitionDir):
- self._set_property("ArtistSlideshow", self.CacheDir)
+ self._set_artwork_skininfo( self.CacheDir )
lw.log( ['switching slideshow to ' + self.CacheDir] )
else:
- self._set_property("ArtistSlideshow", self.TransitionDir)
+ self._set_artwork_skininfo( self.TransitionDir )
lw.log( ['switching slideshow to ' + self.TransitionDir] )
self.LASTARTISTREFRESH = time.time()
lw.log( ['Last slideshow refresh time is ' +
str(self.LASTARTISTREFRESH)] )
@@ -1077,6 +1086,11 @@ class Main:
lw.log( ['finished renaming .tbn files with correct extension'] )
+ def _set_artwork_skininfo( self, dir ):
+ self._set_property("ArtistSlideshow", dir)
+ self._set_property("ArtistSlideshow.ArtworkReady", "true")
+
+
def _set_cachedir( self, theartist ):
self.CacheDir = self._set_thedir( theartist, "ArtistSlideshow" )
@@ -1144,7 +1158,7 @@ class Main:
cached_image_info = True
self.LASTARTISTREFRESH = time.time()
if self.ARTISTNUM == 1:
- self._set_property("ArtistSlideshow", self.CacheDir)
+ self._set_artwork_skininfo( self.CacheDir )
if self.ARTISTINFO == "true":
self._get_artistinfo()
else:
@@ -1199,7 +1213,7 @@ class Main:
lw.log( loglines )
if self.ImageDownloaded:
if( self._playback_stopped_or_changed() and self.ARTISTNUM ==
1 ):
- self._set_property("ArtistSlideshow", self.CacheDir)
+ self._set_artwork_skininfo( self.CacheDir )
self.LASTARTISTREFRESH = time.time()
self._clean_dir( self.TransitionDir )
return
@@ -1218,7 +1232,7 @@ class Main:
lw.log( ['finished downloading images'] )
self.DownloadedAllImages = True
if( self._playback_stopped_or_changed() ):
- self._set_property("ArtistSlideshow", self.CacheDir)
+ self._set_artwork_skininfo( self.CacheDir )
self.LASTARTISTREFRESH = time.time()
self._clean_dir( self.TransitionDir )
return
@@ -1292,12 +1306,13 @@ class Main:
if self.USEOVERRIDE == 'true':
lw.log( ['using override directory for images'] )
self._set_property("ArtistSlideshow", self.OVERRIDEPATH)
+ self._set_artwork_skininfo( self.OVERRIDEPATH )
if(self.ARTISTNUM == 1):
self._get_artistinfo()
elif self.PRIORITY == '1' and self.LOCALARTISTPATH:
lw.log( ['looking for local artwork'] )
self._get_local_images()
- if(not self.LocalImagesFound):
+ if not self.LocalImagesFound:
lw.log( ['no local artist artwork found, start download'] )
self._start_download()
elif self.PRIORITY == '2' and self.LOCALARTISTPATH:
@@ -1317,6 +1332,7 @@ class Main:
lw.log( ['fallbackdir = ' + self.FALLBACKPATH] )
self.UsingFallback = True
self._set_property("ArtistSlideshow", self.FALLBACKPATH)
+ self._set_artwork_skininfo( self.FALLBACKPATH )
def _update_check_file( self, version, message ):
@@ -1342,8 +1358,9 @@ class Main:
while( waited < wait_time ):
time.sleep(0.1)
waited = waited + 0.1
- if( self._playback_stopped_or_changed() ):
- self._set_property("ArtistSlideshow", self.InitDir)
+ if self._playback_stopped_or_changed():
+ self._set_property( "ArtistSlideshow", self.InitDir )
+ self._set_property( "ArtistSlideshow.ArtworkReady" )
self.Abort = True
return
@@ -1352,8 +1369,4 @@ if ( __name__ == "__main__" ):
lw.log( ['script version %s started' % __addonversion__], xbmc.LOGNOTICE )
lw.log( ['debug logging set to %s' % __logdebug__], xbmc.LOGNOTICE )
slideshow = Main()
- try:
- slideshow._set_property("ArtistSlideshow.CleanupComplete", "True")
- except Exception, e:
- lw.log( ['unexpected error while setting property.', e] )
lw.log( ['script stopped'], xbmc.LOGNOTICE )
diff --git a/script.artistslideshow/resources/common/fileops.py
b/script.artistslideshow/resources/common/fileops.py
index 69131e0..e408b40 100644
--- a/script.artistslideshow/resources/common/fileops.py
+++ b/script.artistslideshow/resources/common/fileops.py
@@ -1,12 +1,18 @@
-# v.0.3.2
+# v.0.3.3
-import os
try:
- import xbmcvfs.mkdirs as _mkdirs
- import xbmcvfs.exists as _exists
- import xbmcvfs.delete as _delete
- import xbmcvfs.File as _file
+ import xbmcvfs
+ isXBMC = True
except:
+ import os
+ isXBMC= False
+
+if isXBMC:
+ _mkdirs = xbmcvfs.mkdirs
+ _exists = xbmcvfs.exists
+ _delete = xbmcvfs.delete
+ _file = xbmcvfs.File
+else:
_mkdirs = os.makedirs
_exists = os.path.exists
_delete = os.remove
-----------------------------------------------------------------------
Summary of changes:
script.artistslideshow-helper/addon.xml | 2 +-
script.artistslideshow-helper/changelog.txt | 5 +
script.artistslideshow-helper/default.py | 37 +-
.../resources/common/fileops.py | 18 +-
script.artistslideshow/addon.xml | 2 +-
script.artistslideshow/changelog.txt | 5 +
script.artistslideshow/default.py | 75 ++-
script.artistslideshow/resources/common/fileops.py | 18 +-
script.speedfaninfo/CHANGELOG.txt | 84 +++
script.speedfaninfo/COPYING.txt | 621 ++++++++++++++++++++
script.speedfaninfo/LICENSE.txt | 11 +
script.speedfaninfo/README.txt | 5 +
script.speedfaninfo/addon.xml | 77 +++
script.speedfaninfo/default.py | 318 ++++++++++
script.speedfaninfo/icon.png | Bin 0 -> 10900 bytes
.../resources/__init__.py | 0
.../resources/common}/__init__.py | 0
script.speedfaninfo/resources/common/fileops.py | 96 +++
.../resources/common/fix_utf8.py | 0
.../resources/common/ordereddict.py | 0
.../resources/common/transforms.py | 0
.../resources/common/url.py | 0
.../resources/common/xlogger.py | 0
.../resources/language/Afrikaans/strings.po | 57 ++
.../resources/language/Albanian/strings.po | 25 +
.../resources/language/Amharic/strings.po | 21 +
.../resources/language/Arabic/strings.po | 25 +
.../resources/language/Basque/strings.po | 25 +
.../resources/language/Belarusian/strings.po | 57 ++
.../resources/language/Bosnian/strings.po | 25 +
.../resources/language/Bulgarian/strings.po | 93 +++
.../resources/language/Burmese/strings.po | 21 +
.../resources/language/Catalan/strings.po | 57 ++
.../resources/language/Chinese (Simple)/strings.po | 93 +++
.../language/Chinese (Traditional)/strings.po | 25 +
.../resources/language/Croatian/strings.po | 93 +++
.../resources/language/Czech/strings.po | 25 +
.../resources/language/Danish/strings.po | 93 +++
.../resources/language/Dutch/strings.po | 93 +++
.../language/English (Australia)/strings.po | 21 +
.../language/English (New Zealand)/strings.po | 93 +++
.../resources/language/English (US)/strings.po | 93 +++
.../resources/language/English/strings.po | 99 ++++
.../resources/language/Esperanto/strings.po | 21 +
.../resources/language/Estonian/strings.po | 57 ++
.../resources/language/Faroese/strings.po | 21 +
.../resources/language/Finnish/strings.po | 25 +
.../resources/language/French (Canada)/strings.po | 93 +++
.../resources/language/French/strings.po | 89 +++
.../resources/language/Galician/strings.po | 93 +++
.../resources/language/Georgian/strings.po | 21 +
.../resources/language/German/strings.po | 93 +++
.../resources/language/Greek/strings.po | 93 +++
.../resources/language/Hebrew/strings.po | 57 ++
.../language/Hindi (Devanagiri)/strings.po | 25 +
.../resources/language/Hungarian/strings.po | 93 +++
.../resources/language/Icelandic/strings.po | 25 +
.../resources/language/Indonesian/strings.po | 57 ++
.../resources/language/Italian/strings.po | 93 +++
.../resources/language/Japanese/strings.po | 25 +
.../resources/language/Korean/strings.po | 25 +
.../resources/language/Latvian/strings.po | 21 +
.../resources/language/Lithuanian/strings.po | 25 +
.../resources/language/Macedonian/strings.po | 25 +
.../resources/language/Malay/strings.po | 21 +
.../resources/language/Malayalam/strings.po | 21 +
.../resources/language/Maltese/strings.po | 21 +
.../resources/language/Norwegian/strings.po | 25 +
.../resources/language/Persian (Iran)/strings.po | 25 +
.../resources/language/Persian/strings.po | 21 +
.../resources/language/Polish/strings.po | 93 +++
.../language/Portuguese (Brazil)/strings.po | 93 +++
.../resources/language/Portuguese/strings.po | 93 +++
.../resources/language/Romanian/strings.po | 25 +
.../resources/language/Russian/strings.po | 93 +++
.../language/Serbian (Cyrillic)/strings.po | 25 +
.../resources/language/Serbian/strings.po | 25 +
.../resources/language/Slovak/strings.po | 57 ++
.../resources/language/Slovenian/strings.po | 25 +
.../language/Spanish (Argentina)/strings.po | 25 +
.../resources/language/Spanish (Mexico)/strings.po | 45 ++
.../resources/language/Spanish/strings.po | 93 +++
.../resources/language/Swedish/strings.po | 93 +++
.../resources/language/Tamil (India)/strings.po | 25 +
.../resources/language/Thai/strings.po | 25 +
.../resources/language/Turkish/strings.po | 25 +
.../resources/language/Ukrainian/strings.po | 25 +
.../resources/language/Uzbek/strings.po | 21 +
.../language/Vietnamese (Viet Nam)/strings.po | 21 +
.../resources/language/Vietnamese/strings.po | 21 +
.../resources/language/Welsh/strings.po | 21 +
script.speedfaninfo/resources/settings.xml | 20 +
.../skins/Default/720p/speedfaninfo-compact.xml | 185 ++++++
.../skins/Default/720p/speedfaninfo-main.xml | 255 ++++++++
.../skins/Default/media/speedfan-icon.png | Bin 0 -> 1604 bytes
.../skins/Default/media/speedfan-list-focus.png | Bin 3047 -> 3047 bytes
.../skins/Default/media/speedfan-list-nofocus.png | Bin 2822 -> 2822 bytes
.../skins/Default/media/speedfan-overlay.png | Bin 0 -> 5699 bytes
.../Default/media/speedfan-panel-compact-10.png | Bin 0 -> 3984 bytes
.../Default/media/speedfan-panel-compact-100.png | Bin 0 -> 3983 bytes
.../Default/media/speedfan-panel-compact-20.png | Bin 0 -> 3984 bytes
.../Default/media/speedfan-panel-compact-30.png | Bin 0 -> 3984 bytes
.../Default/media/speedfan-panel-compact-40.png | Bin 0 -> 3984 bytes
.../Default/media/speedfan-panel-compact-50.png | Bin 0 -> 3984 bytes
.../Default/media/speedfan-panel-compact-60.png | Bin 0 -> 3984 bytes
.../Default/media/speedfan-panel-compact-70.png | Bin 0 -> 3984 bytes
.../Default/media/speedfan-panel-compact-80.png | Bin 0 -> 3984 bytes
.../Default/media/speedfan-panel-compact-90.png | Bin 0 -> 3984 bytes
.../skins/Default/media/speedfan-panel.png | Bin 0 -> 9979 bytes
.../skins/Default/media/speedfan-scroll_back.png | Bin 0 -> 3332 bytes
.../skins/Default/media/speedfan-scroll_mid.png | Bin 0 -> 3417 bytes
.../skins/Default/media/speedfan-title.png | Bin 0 -> 5077 bytes
.../resources/skins/Default/skin.xml | 13 +
service.subtitles.legendastv/addon.xml | 2 +-
service.subtitles.legendastv/changelog.txt | 3 +
.../resources/lib/LegendasTV.py | 31 +-
116 files changed, 5124 insertions(+), 73 deletions(-)
create mode 100644 script.speedfaninfo/CHANGELOG.txt
create mode 100644 script.speedfaninfo/COPYING.txt
create mode 100644 script.speedfaninfo/LICENSE.txt
create mode 100644 script.speedfaninfo/README.txt
create mode 100644 script.speedfaninfo/addon.xml
create mode 100644 script.speedfaninfo/default.py
create mode 100644 script.speedfaninfo/icon.png
copy {script.ace.extrapack => script.speedfaninfo}/resources/__init__.py (100%)
copy {script.ace.extrapack/resources =>
script.speedfaninfo/resources/common}/__init__.py (100%)
create mode 100644 script.speedfaninfo/resources/common/fileops.py
copy {script.artistslideshow-helper =>
script.speedfaninfo}/resources/common/fix_utf8.py (100%)
copy {script.artistslideshow-helper =>
script.speedfaninfo}/resources/common/ordereddict.py (100%)
copy {script.artistslideshow-helper =>
script.speedfaninfo}/resources/common/transforms.py (100%)
mode change 100755 => 100644
copy {script.artistslideshow-helper =>
script.speedfaninfo}/resources/common/url.py (100%)
mode change 100755 => 100644
copy {script.artistslideshow-helper =>
script.speedfaninfo}/resources/common/xlogger.py (100%)
mode change 100755 => 100644
create mode 100644 script.speedfaninfo/resources/language/Afrikaans/strings.po
create mode 100644 script.speedfaninfo/resources/language/Albanian/strings.po
create mode 100644 script.speedfaninfo/resources/language/Amharic/strings.po
create mode 100644 script.speedfaninfo/resources/language/Arabic/strings.po
create mode 100644 script.speedfaninfo/resources/language/Basque/strings.po
create mode 100644 script.speedfaninfo/resources/language/Belarusian/strings.po
create mode 100644 script.speedfaninfo/resources/language/Bosnian/strings.po
create mode 100644 script.speedfaninfo/resources/language/Bulgarian/strings.po
create mode 100644 script.speedfaninfo/resources/language/Burmese/strings.po
create mode 100644 script.speedfaninfo/resources/language/Catalan/strings.po
create mode 100644 script.speedfaninfo/resources/language/Chinese
(Simple)/strings.po
create mode 100644 script.speedfaninfo/resources/language/Chinese
(Traditional)/strings.po
create mode 100644 script.speedfaninfo/resources/language/Croatian/strings.po
create mode 100644 script.speedfaninfo/resources/language/Czech/strings.po
create mode 100644 script.speedfaninfo/resources/language/Danish/strings.po
create mode 100644 script.speedfaninfo/resources/language/Dutch/strings.po
create mode 100644 script.speedfaninfo/resources/language/English
(Australia)/strings.po
create mode 100644 script.speedfaninfo/resources/language/English (New
Zealand)/strings.po
create mode 100644 script.speedfaninfo/resources/language/English
(US)/strings.po
create mode 100644 script.speedfaninfo/resources/language/English/strings.po
create mode 100644 script.speedfaninfo/resources/language/Esperanto/strings.po
create mode 100644 script.speedfaninfo/resources/language/Estonian/strings.po
create mode 100644 script.speedfaninfo/resources/language/Faroese/strings.po
create mode 100644 script.speedfaninfo/resources/language/Finnish/strings.po
create mode 100644 script.speedfaninfo/resources/language/French
(Canada)/strings.po
create mode 100644 script.speedfaninfo/resources/language/French/strings.po
create mode 100644 script.speedfaninfo/resources/language/Galician/strings.po
create mode 100644 script.speedfaninfo/resources/language/Georgian/strings.po
create mode 100644 script.speedfaninfo/resources/language/German/strings.po
create mode 100644 script.speedfaninfo/resources/language/Greek/strings.po
create mode 100644 script.speedfaninfo/resources/language/Hebrew/strings.po
create mode 100644 script.speedfaninfo/resources/language/Hindi
(Devanagiri)/strings.po
create mode 100644 script.speedfaninfo/resources/language/Hungarian/strings.po
create mode 100644 script.speedfaninfo/resources/language/Icelandic/strings.po
create mode 100644 script.speedfaninfo/resources/language/Indonesian/strings.po
create mode 100644 script.speedfaninfo/resources/language/Italian/strings.po
create mode 100644 script.speedfaninfo/resources/language/Japanese/strings.po
create mode 100644 script.speedfaninfo/resources/language/Korean/strings.po
create mode 100644 script.speedfaninfo/resources/language/Latvian/strings.po
create mode 100644 script.speedfaninfo/resources/language/Lithuanian/strings.po
create mode 100644 script.speedfaninfo/resources/language/Macedonian/strings.po
create mode 100644 script.speedfaninfo/resources/language/Malay/strings.po
create mode 100644 script.speedfaninfo/resources/language/Malayalam/strings.po
create mode 100644 script.speedfaninfo/resources/language/Maltese/strings.po
create mode 100644 script.speedfaninfo/resources/language/Norwegian/strings.po
create mode 100644 script.speedfaninfo/resources/language/Persian
(Iran)/strings.po
create mode 100644 script.speedfaninfo/resources/language/Persian/strings.po
create mode 100644 script.speedfaninfo/resources/language/Polish/strings.po
create mode 100644 script.speedfaninfo/resources/language/Portuguese
(Brazil)/strings.po
create mode 100644 script.speedfaninfo/resources/language/Portuguese/strings.po
create mode 100644 script.speedfaninfo/resources/language/Romanian/strings.po
create mode 100644 script.speedfaninfo/resources/language/Russian/strings.po
create mode 100644 script.speedfaninfo/resources/language/Serbian
(Cyrillic)/strings.po
create mode 100644 script.speedfaninfo/resources/language/Serbian/strings.po
create mode 100644 script.speedfaninfo/resources/language/Slovak/strings.po
create mode 100644 script.speedfaninfo/resources/language/Slovenian/strings.po
create mode 100644 script.speedfaninfo/resources/language/Spanish
(Argentina)/strings.po
create mode 100644 script.speedfaninfo/resources/language/Spanish
(Mexico)/strings.po
create mode 100644 script.speedfaninfo/resources/language/Spanish/strings.po
create mode 100644 script.speedfaninfo/resources/language/Swedish/strings.po
create mode 100644 script.speedfaninfo/resources/language/Tamil
(India)/strings.po
create mode 100644 script.speedfaninfo/resources/language/Thai/strings.po
create mode 100644 script.speedfaninfo/resources/language/Turkish/strings.po
create mode 100644 script.speedfaninfo/resources/language/Ukrainian/strings.po
create mode 100644 script.speedfaninfo/resources/language/Uzbek/strings.po
create mode 100644 script.speedfaninfo/resources/language/Vietnamese (Viet
Nam)/strings.po
create mode 100644 script.speedfaninfo/resources/language/Vietnamese/strings.po
create mode 100644 script.speedfaninfo/resources/language/Welsh/strings.po
create mode 100644 script.speedfaninfo/resources/settings.xml
create mode 100644
script.speedfaninfo/resources/skins/Default/720p/speedfaninfo-compact.xml
create mode 100644
script.speedfaninfo/resources/skins/Default/720p/speedfaninfo-main.xml
create mode 100644
script.speedfaninfo/resources/skins/Default/media/speedfan-icon.png
copy
script.cdartmanager/resources/skins/Default/media/cdman-default-list-focus.png
=> script.speedfaninfo/resources/skins/Default/media/speedfan-list-focus.png
(100%)
copy
script.cdartmanager/resources/skins/Default/media/default-list-nofocus.png =>
script.speedfaninfo/resources/skins/Default/media/speedfan-list-nofocus.png
(100%)
create mode 100644
script.speedfaninfo/resources/skins/Default/media/speedfan-overlay.png
create mode 100644
script.speedfaninfo/resources/skins/Default/media/speedfan-panel-compact-10.png
create mode 100644
script.speedfaninfo/resources/skins/Default/media/speedfan-panel-compact-100.png
create mode 100644
script.speedfaninfo/resources/skins/Default/media/speedfan-panel-compact-20.png
create mode 100644
script.speedfaninfo/resources/skins/Default/media/speedfan-panel-compact-30.png
create mode 100644
script.speedfaninfo/resources/skins/Default/media/speedfan-panel-compact-40.png
create mode 100644
script.speedfaninfo/resources/skins/Default/media/speedfan-panel-compact-50.png
create mode 100644
script.speedfaninfo/resources/skins/Default/media/speedfan-panel-compact-60.png
create mode 100644
script.speedfaninfo/resources/skins/Default/media/speedfan-panel-compact-70.png
create mode 100644
script.speedfaninfo/resources/skins/Default/media/speedfan-panel-compact-80.png
create mode 100644
script.speedfaninfo/resources/skins/Default/media/speedfan-panel-compact-90.png
create mode 100644
script.speedfaninfo/resources/skins/Default/media/speedfan-panel.png
create mode 100644
script.speedfaninfo/resources/skins/Default/media/speedfan-scroll_back.png
create mode 100644
script.speedfaninfo/resources/skins/Default/media/speedfan-scroll_mid.png
create mode 100644
script.speedfaninfo/resources/skins/Default/media/speedfan-title.png
create mode 100644 script.speedfaninfo/resources/skins/Default/skin.xml
hooks/post-receive
--
Scripts
------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons