The branch, gotham has been updated
via 6ebd65a4510cd6a98522261071b4d0bc68b23d34 (commit)
via 506bfb17f6f5b6da6ede3e5c7480b8e70e71432e (commit)
via b5e8a2b9a8370ee06ac5f16abd137e671dc637b5 (commit)
from 7661609996b1d73e0c4b847846aaf78db58ba38c (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=6ebd65a4510cd6a98522261071b4d0bc68b23d34
commit 6ebd65a4510cd6a98522261071b4d0bc68b23d34
Author: Martijn Kaijser <[email protected]>
Date: Tue Apr 1 11:03:09 2014 +0200
[service.subtitles.subscenter] 3.1.6
diff --git a/service.subtitles.subscenter/addon.xml
b/service.subtitles.subscenter/addon.xml
index b912696..b67c932 100644
--- a/service.subtitles.subscenter/addon.xml
+++ b/service.subtitles.subscenter/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="service.subtitles.subscenter"
name="Subscenter.org"
- version="3.1.5"
+ version="3.1.6"
provider-name="CaTz">
<requires>
<import addon="xbmc.python" version="2.14.0"/>
diff --git a/service.subtitles.subscenter/changelog.txt
b/service.subtitles.subscenter/changelog.txt
index dae047a..7bc5567 100644
--- a/service.subtitles.subscenter/changelog.txt
+++ b/service.subtitles.subscenter/changelog.txt
@@ -1,3 +1,6 @@
+3.1.6 - by sagiben 01/04/2014
+- Fix crash due to a division of a str, adding casting to float
+
3.1.5 - by CaTz 28/03/2014
- Bug fix, plugin crash if there is no downloads in the site (expected to str)
@@ -31,7 +34,7 @@
2.5 - by Maor Tal
- support for Subscenter new website + workaround (10x to CaTz)
-1.5.0
+1.5.0 - by sagiben
- Porting service to Gotham's format,
code is based on Ori Varon's addon from previous versions
diff --git a/service.subtitles.subscenter/resources/lib/SUBUtilities.py
b/service.subtitles.subscenter/resources/lib/SUBUtilities.py
index 0bf6202..32fcd2e 100644
--- a/service.subtitles.subscenter/resources/lib/SUBUtilities.py
+++ b/service.subtitles.subscenter/resources/lib/SUBUtilities.py
@@ -150,7 +150,7 @@ class SubscenterHelper:
# Fix the rating
if total_downloads:
for it in ret:
- it["rating"] = str(int(round(it["rating"] /
float(total_downloads), 1) * 5))
+ it["rating"] = str(int(round(float(it["rating"]) /
float(total_downloads), 1) * 5))
return sorted(ret, key=lambda x: (x['lang_index'], x['sync'],
x['rating']), reverse=True)
@@ -236,4 +236,4 @@ class URLHandler():
except Exception as e:
log(__scriptname__, "Failed to get url: %s\n%s" % (url, e))
# Second parameter is the filename
- return content
\ No newline at end of file
+ return content
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=506bfb17f6f5b6da6ede3e5c7480b8e70e71432e
commit 506bfb17f6f5b6da6ede3e5c7480b8e70e71432e
Author: Martijn Kaijser <[email protected]>
Date: Tue Apr 1 10:59:37 2014 +0200
[script.xbmcbackup] 0.5.2
diff --git a/script.xbmcbackup/README.txt b/script.xbmcbackup/README.txt
index 4b345e3..9d57199 100644
--- a/script.xbmcbackup/README.txt
+++ b/script.xbmcbackup/README.txt
@@ -6,7 +6,7 @@ I've had to recover my database, thumbnails, and source
configuration enough tim
Remote Destination/File Selection:
-In the addon settings you can define a remote path for the destination of your
xbmc files. Each backup will create a folder named in a YYYYMMDD format so you
can create multiple backups. You can keep a set number of backups by setting
the integer value of the Backups to Keep setting greater than 0.
+In the addon settings you can define a remote path for the destination of your
xbmc files. Each backup will create a folder named in a YYYYMMDDHHmm format so
you can create multiple backups. You can keep a set number of backups by
setting the integer value of the Backups to Keep setting greater than 0.
On the Backup Selection page you can select which items from your user profile
folder will be sent to the backup location. By default all are turned on except
the Addon Data directory.
@@ -37,11 +37,38 @@ Once you have your app key and secret add them to the
settings. XBMC Backup now
Scripting XBMC Backup:
-If you wish to script this addon using an outside scheduler or script it can
be given parameters via the Xbmc.RunScript() or JsonRPC.Addons.ExecuteAddon()
methods. Parameters given are either "backup" or "restore" to launch the
correct program mode. An example would be:
+If you wish to script this addon using an outside scheduler or script it can
be given parameters via the Xbmc.RunScript() or JsonRPC.Addons.ExecuteAddon()
methods. Parameters given are either "backup" or "restore" to launch the
correct program mode. If mode is "restore", an additional "archive" parameter
can be given to set the restore point to be used instead of prompting via the
GUI. An example would be:
-RunScript(script.xbmcbackup,backup)
+Python code:
+-------------------------------------------
+RunScript(script.xbmcbackup,mode=backup)
+-------------------------------------------
+or
+JSON Request:
+-------------------------------------------
+{ "jsonrpc": "2.0", "method":
"Addons.ExecuteAddon","params":{"addonid":"script.xbmcbackup","params":{"mode":"restore","archive":"000000000000"}},
"id": 1 }
+-------------------------------------------
+
+There is also a windows parameter that can be used to check if XBMC Backup is
running within a skin or from another program. It is attached to the home
window, an example of using it would be the following:
+
+Python code:
+-------------------------------------------
+#kick off the xbmc backup
+xbmc.executeJSONRPC('{ "jsonrpc": "2.0", "method":
"Addons.ExecuteAddon","params":{"addonid":"script.xbmcbackup","params":{"mode":"backup"}},
"id": 1 }')
+
+#sleep for a few seconds to give it time to kick off
+xbmc.sleep(10000)
+
+window = xbmcgui.Window(10000)
+
+while (window.getProperty('script.xbmcbackup.running') == 'true'):
+ #do something here, probably just sleep for a few seconds
+ xbmc.sleep(5000)
+
+#backup is now done, continue with script
+-------------------------------------------
FAQ:
I can't see any restore points when choosing "Restore", what is the problem?
diff --git a/script.xbmcbackup/addon.xml b/script.xbmcbackup/addon.xml
index a49884d..9a80d74 100644
--- a/script.xbmcbackup/addon.xml
+++ b/script.xbmcbackup/addon.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="script.xbmcbackup"
- name="XBMC Backup" version="0.5.1" provider-name="robweber">
+ name="XBMC Backup" version="0.5.2" provider-name="robweber">
<requires>
<import addon="xbmc.python" version="2.12.0"/>
</requires>
@@ -11,6 +11,7 @@
<extension point="xbmc.addon.metadata">
<summary lang="ar">ÙÙ
Ø¨ÙØ³Ø® Ø§ØØªÙاط٠٠استعد ÙØ§Ø¹Ø¯Ø©
Ø¨ÙØ§Ùات XBMC Ø§ÙØ®Ø§Øµ ب٠٠Ù
ÙÙØ§Øª Ø§ÙØªÙÙÙÙ ÙÙ ØØ§Ù
ÙÙÙØ¹ ØØ§Ø¯Ø« أ٠تÙ٠اÙÙ
ÙÙØ§Øª.</summary>
<summary lang="be">Backup and restore your XBMC database and configuration
files in the event of a crash or file corruption.</summary>
+ <summary lang="bg">ÐобавкаÑа може да ÑÑздава
ÑезеÑвно копие на XBMC и вÑзÑÑановÑва (Ñлед
Ñова) ÐаÑаÑа база Ð¾Ñ Ð´Ð°Ð½Ð½Ð¸ и наÑÑÑойки, в
ÑлÑÑай на необÑ
одимоÑÑ.</summary>
<summary lang="ca">Copiau i restaurau la vostra base de dades d'XBMC i els
fitxers de configuració en cas de caiguda o corrupció de fitxers.</summary>
<summary lang="da">Sikkerhedskopiér og genskab din XBMC database og
konfigurationsfiler i tilfælde af et nedbrud eller en ødelagt fil.</summary>
<summary lang="de">Die XBMC Datenbank sichern und bei Dateiverlust oder
Beschädigung wiederherstellen.</summary>
@@ -36,6 +37,7 @@
<summary lang="sv">Ta backupp av eller återställ din XBMC-databas och
konfigurationsfiler i händelse av en krash eller filkorruption.</summary>
<summary lang="zh">å¤ä»½åæ¢å¤XBMCæ°æ®åºåé
ç½®æä»¶ï¼ä»¥é²èç³»ç»å´©æºææä»¶æåé®é¢ã</summary>
<description lang="be">Ever hosed your XBMC configuration and wished you'd
had a backup? Now you can with one easy click. You can export your database,
playlist, thumbnails, addons and other configuration details to any source
writeable by XBMC or directly to Dropbox cloud storage. Backups can be run on
demand or via a scheduler. </description>
+ <description lang="bg">ÐÑкога да ÑÑе гÑбили вÑиÑки
наÑÑÑойки, коиÑо ÑÑе пÑавили по XBMC? Ð
ÑазполагаÑ
Ñе ли Ñ ÑезеÑвно копие? Ð Ñега
можеÑе да ÑÑздаваÑе ÑезеÑвни ÐºÐ¾Ð¿Ð¸Ñ Ñамо Ñ
едно кликване. ÐожеÑе да изнаÑÑÑе базаÑа оÑ
данни, плейлиÑÑиÑе, миниаÑÑÑиÑе, добавкиÑе
и дÑÑги, на вÑÑко мÑÑÑо до коеÑо XBMC има
пÑава за пиÑане или диÑекÑно в Dropbox. ÐожеÑе
да наÑÑÑоиÑе и авÑомаÑиÑно ÑÑздаване на
ÐºÐ¾Ð¿Ð¸Ñ Ð¿Ñез опÑеделен инÑеÑвал оÑ
вÑеме.</description>
<description lang="ca">Sempre canvia la configuració XBMC i ha desitjat
tinir una còpia de seguretat? Ara pot fer-ho amb un simple clic. Podeu
exportar la seva base de dades, llista de reproducció, miniatures, complements
i altres detalls de la configuració per a qualsevol complement de XBMC o
directament emmagatzemar-ho al Dropbox en el núvol. Les còpies de seguretat
es poden executar a la demanda o per mitjà d'un planificador.</description>
<description lang="da">Har du prøvet at slette din XBMC opsætning, og
ønsket at du havde haft sikkerhedskopi? Nu kan du få det med et enkelt klik.
Du kan eksportere din database, afspilninglister, miniaturebilleder, addons og
andre opsætningsdetaljer til enhver kilde, som er skrivbar for XBMC eller
direkt til Dropbox cloud lager. Sikkerhedskopier kan køres manuelt eller via
en tidsplan.</description>
<description lang="de">Jemals deine XBMC Konfiguration zerschossen und dir
dann gewünscht, dass ein Backup existiert? Jetzt kannst du eine Sicherung mit
nur einem Klick erzeugen. Du kannst deine Datenbanen, Playlisten, Thumbnails,
Addons und andere Details zu einem Ort deiner Wahl sichern.</description>
diff --git a/script.xbmcbackup/changelog.txt b/script.xbmcbackup/changelog.txt
index b18e08b..7e02206 100644
--- a/script.xbmcbackup/changelog.txt
+++ b/script.xbmcbackup/changelog.txt
@@ -1,3 +1,11 @@
+Version 0.5.2
+
+added additional script and window parameters, thanks Samu-rai
+
+critical error in backup rotation
+
+updated progress bar display
+
Version 0.5.1
updated for new Gotham xbmc python updates
diff --git a/script.xbmcbackup/default.py b/script.xbmcbackup/default.py
index b2bd2ad..a682c8a 100644
--- a/script.xbmcbackup/default.py
+++ b/script.xbmcbackup/default.py
@@ -1,21 +1,37 @@
+import urlparse
import xbmcgui
import resources.lib.utils as utils
from resources.lib.backup import XbmcBackup
+def get_params():
+ param = {}
+
+ if(len(sys.argv) > 1):
+ for i in sys.argv:
+ args = i
+ if(args.startswith('?')):
+ args = args[1:]
+ param.update(dict(urlparse.parse_qsl(args)))
+
+ return param
+
#the program mode
mode = -1
+params = get_params()
+
-#check if mode was passed in as an argument
-if(len(sys.argv) > 1):
- if(sys.argv[1].lower() == 'backup'):
+if("mode" in params):
+ if(params['mode'] == 'backup'):
mode = 0
- elif(sys.argv[1].lower() == 'restore'):
+ elif(params['mode'] == 'restore'):
mode = 1
+#if mode wasn't passed in as arg, get from user
if(mode == -1):
#figure out if this is a backup or a restore from the user
mode = xbmcgui.Dialog().select(utils.getString(30010) + " - " +
utils.getString(30023),[utils.getString(30016),utils.getString(30017)])
+#check if program should be run
if(mode != -1):
#run the profile backup
backup = XbmcBackup()
@@ -23,14 +39,29 @@ if(mode != -1):
if(backup.remoteConfigured()):
if(mode == backup.Restore):
- #allow user to select the backup to restore from
+ #get list of valid restore points
restorePoints = backup.listBackups()
pointNames = []
-
+ folderNames = []
+
for aDir in restorePoints:
pointNames.append(aDir[1])
-
- selectedRestore = xbmcgui.Dialog().select(utils.getString(30010) +
" - " + utils.getString(30021),pointNames)
+ folderNames.append(aDir[0])
+
+ selectedRestore = -1
+
+ if("archive" in params):
+ #check that the user give archive exists
+ if(params['archive'] in folderNames):
+ #set the index
+ selectedRestore = folderNames.index(params['archive'])
+ utils.log(str(selectedRestore) + " : " + params['archive'])
+ else:
+ utils.showNotification(utils.getString(30045))
+ utils.log(params['archive'] + ' is not a valid restore
point')
+ else:
+ #allow user to select the backup to restore from
+ selectedRestore =
xbmcgui.Dialog().select(utils.getString(30010) + " - " +
utils.getString(30021),pointNames)
if(selectedRestore != -1):
backup.selectRestore(restorePoints[selectedRestore][0])
diff --git a/script.xbmcbackup/resources/language/Bulgarian/strings.xml
b/script.xbmcbackup/resources/language/Bulgarian/strings.xml
index fd27425..fd23b73 100644
--- a/script.xbmcbackup/resources/language/Bulgarian/strings.xml
+++ b/script.xbmcbackup/resources/language/Bulgarian/strings.xml
@@ -4,10 +4,58 @@
<!-- Report language file syntax bugs at: [email protected] -->
<strings>
- <string id="30011">General</string>
+ <string id="30010">XBMC Backup</string>
+ <string id="30011">ÐÑнови</string>
+ <string id="30012">ÐÐ·Ð±Ð¾Ñ Ð½Ð° Ñайлове</string>
+ <string id="30013">ÐланиÑане</string>
+ <string id="30016">РезеÑвно копие</string>
+ <string id="30017">ÐÑзÑÑанови</string>
+ <string id="30018">ÐÑеглеждане за пÑÑ</string>
+ <string id="30019">ÐÑвеждане на пÑÑ</string>
+ <string id="30020">ÐÑегледайÑе</string>
+ <string id="30021">Ðме на папкаÑа за ÑезеÑвниÑе
копиÑ</string>
+ <string id="30022">ÐзвеÑÑÑване за напÑедÑка</string>
<string id="30023">Режим</string>
- <string id="30032">Ðаза Ð¾Ñ Ð´Ð°Ð½Ð½Ð¸</string>
- <string id="30033">ÐлейлиÑÑ</string>
+ <string id="30024">ÐÑведеÑе оÑдалеÑÐµÐ½Ð¸Ñ Ð¿ÑÑ</string>
+ <string id="30025">ÐкажеÑе пÑÑÑ Ð´Ð¾ папкаÑа Ñ
ÑезеÑвни копиÑ</string>
+ <string id="30026">Ðолко ÑезеÑвни ÐºÐ¾Ð¿Ð¸Ñ Ð´Ð° бÑдаÑ
ÑÑÑ
ÑанÑвани (0 за вÑиÑки)</string>
+ <string id="30027">Dropbox</string>
+ <string id="30028">Dropbox клÑÑ</string>
+ <string id="30029">Dropbox ÑекÑеÑен клÑÑ</string>
+ <string id="30030">Ðобавки</string>
+ <string id="30031">ÐанниÑе на добавкиÑе</string>
+ <string id="30032">ÐазаÑа данни</string>
+ <string id="30033">ÐлейлиÑÑи</string>
+ <string id="30034">ÐиниаÑÑÑи/ФанаÑÑ</string>
+ <string id="30035">ФайловеÑе Ñ Ð½Ð°ÑÑÑойки</string>
+ <string id="30036">ÐеÑÑонална диÑекÑоÑÐ¸Ñ â1</string>
+ <string id="30037">ÐеÑÑонална диÑекÑоÑÐ¸Ñ â2</string>
+ <string id="30038">ÐаÑеÑени Ñа допÑлниÑелни
наÑÑÑойки</string>
+ <string id="30039">ÐеобÑ
одимо е пÑÑво
вÑзÑÑановÑване на Ñайла "advancedsettings.xml"</string>
+ <string id="30040">ÐзбеÑеÑе "Ðа" за
вÑзÑÑановÑване Ð¾Ñ Ñайла и ÑеÑÑаÑÑиÑане на
XBMC</string>
+ <string id="30041">ÐзбеÑеÑе "Ðе" за да
пÑодÑлжиÑе</string>
+ <string id="30042">ÐÑзобнови</string>
+ <string id="30043">XBMC Backup заÑеÑе незавÑÑÑено
вÑзÑÑановÑване</string>
+ <string id="30044">ÐÑкаÑе ли да пÑодÑлжиÑе?</string>
+ <string id="30045">ÐÑеÑка: ÐÑдалеÑениÑÑ Ð¿ÑÑ Ð½Ðµ
ÑÑÑеÑÑвÑва</string>
+ <string id="30046">СÑаÑÑиÑане</string>
+ <string id="30047">Ðокална папка</string>
+ <string id="30048">ÐÑдалеÑена папка</string>
+ <string id="30049">ÐзгÑаждане на ÑпиÑÑк Ñ
Ñайлове</string>
+ <string id="30050">ÐÑдалеÑениÑÑ Ð¿ÑÑ ÑÑÑеÑÑвÑва.
ÐеÑоÑÑно ÑÑдÑÑжа ÑÑаÑи Ñайлове!</string>
+ <string id="30051">СÑздаване на ÑпиÑÑка Ñ
Ñайлове</string>
+ <string id="30052">ÐапиÑване на Ñайла</string>
+ <string id="30053">СÑздаване на ÑезеÑвно копие
(по план)</string>
+ <string id="30054">ÐÑемаÑ
ване на ÑезеÑвно
копие</string>
+ <string id="30056">Ðа оÑоÑизаÑÐ¸Ð¾Ð½Ð½Ð¸Ñ URL адÑÐµÑ Ð·Ð°
Dropbox пÑовеÑеÑе дневника</string>
+ <string id="30057">След оÑоÑизиÑанеÑо наÑиÑнеÑе
"ÐобÑе"</string>
+ <string id="30058">ÐеобÑ
одим е код за
ÑазÑабоÑÑик за Dropbox</string>
+ <string id="30059">ÐоÑеÑеÑе
https://www.dropbox.com/developers</string>
+ <string id="30060">ÐкÑивиÑай планиÑовÑика</string>
+ <string id="30061">ÐланиÑане</string>
+ <string id="30062">ЧаÑ</string>
+ <string id="30063">Ðен</string>
+ <string id="30064">Cron планиÑане</string>
<string id="30065">неделÑ</string>
<string id="30066">понеделник</string>
<string id="30067">вÑоÑник</string>
@@ -15,4 +63,17 @@
<string id="30069">ÑеÑвÑÑÑÑк</string>
<string id="30070">пеÑÑк</string>
<string id="30071">ÑÑбоÑа</string>
+ <string id="30072">ÐÑеки ден</string>
+ <string id="30073">ÐÑÑка ÑедмиÑа</string>
+ <string id="30074">ÐÑÑÐ²Ð¸Ñ Ð´ÐµÐ½ на меÑеÑа</string>
+ <string id="30075">ÐеÑÑонално планиÑане</string>
+ <string id="30076">ÐзклÑÑвай XBMC Ñлед ÑÑздаванеÑо
на ÑезеÑвно копиÑане</string>
+ <string id="30077">РеÑÑаÑÑиÑане на XBMC</string>
+ <string id="30078">ÐеобÑ
одимо е да ÑеÑÑаÑÑиÑаÑе
XBMC за да пÑодÑлжиÑе</string>
+ <string id="30079">Само днеÑ</string>
+ <string id="30080">ÐÑоÑили</string>
+ <string id="30081">ÐланиÑовÑика Ñе ÑÑаÑÑиÑа
оÑново на</string>
+ <string id="30082">ÐенÑа за напÑедÑка</string>
+ <string id="30083">ÐенÑа за напÑедÑка на заден
план</string>
+ <string id="30084">Ðез (ÑиÑ
Ñежим)</string>
</strings>
diff --git a/script.xbmcbackup/resources/lib/backup.py
b/script.xbmcbackup/resources/lib/backup.py
index 771c9c8..4e1bbba 100644
--- a/script.xbmcbackup/resources/lib/backup.py
+++ b/script.xbmcbackup/resources/lib/backup.py
@@ -90,6 +90,10 @@ class XbmcBackup:
self.skip_advanced = True
def run(self,mode=-1,progressOverride=False):
+ #set windows setting to true
+ window = xbmcgui.Window(10000)
+ window.setProperty(utils.__addon_id__ + ".running","true")
+
#append backup folder name
progressBarTitle = utils.getString(30010) + " - "
if(mode == self.Backup and self.remote_vfs.root_path != ''):
@@ -106,15 +110,10 @@ class XbmcBackup:
utils.log(utils.getString(30047) + ": " + self.xbmc_vfs.root_path)
utils.log(utils.getString(30048) + ": " + self.remote_vfs.root_path)
- #check if we should use the progress bar
- if(int(utils.getSetting('progress_mode')) != 2):
- #check if background or normal
- if(int(utils.getSetting('progress_mode')) == 0 and not
progressOverride):
- self.progressBar = xbmcgui.DialogProgress()
- else:
- self.progressBar = xbmcgui.DialogProgressBG()
-
- self.progressBar.create(progressBarTitle,utils.getString(30049) +
"......")
+
+ #setup the progress bar
+ self.progressBar = BackupProgressBar(progressOverride)
+ self.progressBar.create(progressBarTitle,utils.getString(30049) +
"......")
if(mode == self.Backup):
utils.log(utils.getString(30023) + " - " + utils.getString(30016))
@@ -320,19 +319,22 @@ class XbmcBackup:
#call update addons to refresh everything
xbmc.executebuiltin('UpdateLocalAddons')
- if(self.progressBar != None):
- self.progressBar.close()
+ self.progressBar.close()
+
+ #reset the window setting
+ window.setProperty(utils.__addon_id__ + ".running","")
def backupFiles(self,fileList,source,dest):
utils.log("Writing files to: " + dest.root_path)
utils.log("Source: " + source.root_path)
for aFile in fileList:
- if(not self._checkCancel()):
+ if(not self.progressBar.checkCancel()):
utils.log('Writing file: ' + aFile,xbmc.LOGDEBUG)
- self._updateProgress(aFile)
if(aFile.startswith("-")):
+ self._updateProgress(aFile[len(source.root_path) + 1:])
dest.mkdir(dest.root_path + aFile[len(source.root_path) +
1:])
else:
+ self._updateProgress()
if(isinstance(source,DropboxFileSystem)):
#if copying from dropbox we need the file handle, use
get_file
source.get_file(aFile,dest.root_path +
aFile[len(source.root_path):])
@@ -355,21 +357,10 @@ class XbmcBackup:
crc = crc & 0xFFFFFFFF
return '%08x' % crc
-
- def _updateProgress(self,message=''):
- self.filesLeft = self.filesLeft - 1
-
- #update the progress bar
- if(self.progressBar != None):
- self.progressBar.update(int((float(self.filesTotal -
self.filesLeft)/float(self.filesTotal)) * 100),message)
-
- def _checkCancel(self):
- result = False
- if(self.progressBar != None and type(self.progressBar) is
xbmcgui.DialogProgress):
- result = self.progressBar.iscanceled()
-
- return result
+ def _updateProgress(self,message=None):
+ self.filesLeft = self.filesLeft - 1
+ self.progressBar.updateProgress(int((float(self.filesTotal -
self.filesLeft)/float(self.filesTotal)) * 100),message)
def _rotateBackups(self):
total_backups = int(utils.getSetting('backup_rotation'))
@@ -383,7 +374,7 @@ class XbmcBackup:
self.filesTotal = self.filesTotal + remove_num + 1
#update the progress bar if it is available
- while(remove_num < total_backups and not self._checkCancel()):
+ while(remove_num < (len(dirs) - total_backups) and not
self.progressBar.checkCancel()):
self._updateProgress(utils.getString(30054) + " " +
dirs[remove_num][1])
utils.log("Removing backup " + dirs[remove_num][0])
self.remote_vfs.rmdir(self.remote_base_path +
dirs[remove_num][0] + "/")
@@ -453,3 +444,54 @@ class FileManager:
def size(self):
return len(self.fileArray)
+
+class BackupProgressBar:
+ NONE = 2
+ DIALOG = 0
+ BACKGROUND = 1
+
+ mode = 2
+ progressBar = None
+ override = False
+
+ def __init__(self,progressOverride):
+ self.override = progressOverride
+
+ #check if we should use the progress bar
+ if(int(utils.getSetting('progress_mode')) != 2):
+ #check if background or normal
+ if(int(utils.getSetting('progress_mode')) == 0 and not
self.override):
+ self.mode = self.DIALOG
+ self.progressBar = xbmcgui.DialogProgress()
+ else:
+ self.mode = self.BACKGROUND
+ self.progressBar = xbmcgui.DialogProgressBG()
+
+ def create(self,heading,message):
+ if(self.mode != self.NONE):
+ self.progressBar.create(heading,message)
+
+ def updateProgress(self,percent,message=None):
+
+ #update the progress bar
+ if(self.mode != self.NONE):
+ if(message != None):
+ #need different calls for dialog and background bars
+ if(self.mode == self.DIALOG):
+ self.progressBar.update(percent,message)
+ else:
+ self.progressBar.update(percent,message=message)
+ else:
+ self.progressBar.update(percent)
+
+ def checkCancel(self):
+ result = False
+
+ if(self.mode == self.DIALOG):
+ result = self.progressBar.iscanceled()
+
+ return result
+
+ def close(self):
+ if(self.mode != self.NONE):
+ self.progressBar.close()
diff --git a/script.xbmcbackup/scheduler.py b/script.xbmcbackup/scheduler.py
index 39b23b9..4b978b5 100644
--- a/script.xbmcbackup/scheduler.py
+++ b/script.xbmcbackup/scheduler.py
@@ -25,7 +25,6 @@ class BackupScheduler:
#scheduler was turned on, find next run time
utils.log("scheduler enabled, finding next run time")
self.findNextRun(time.time())
- utils.log("scheduler will run again on " +
datetime.datetime.fromtimestamp(self.next_run).strftime('%m-%d-%Y %H:%M'))
def start(self):
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=b5e8a2b9a8370ee06ac5f16abd137e671dc637b5
-----------------------------------------------------------------------
Summary of changes:
script.xbmcbackup/README.txt | 33 ++-
script.xbmcbackup/addon.xml | 4 +-
script.xbmcbackup/changelog.txt | 8 +
script.xbmcbackup/default.py | 47 +++-
.../resources/language/Bulgarian/strings.xml | 67 ++++-
script.xbmcbackup/resources/lib/backup.py | 98 ++++--
script.xbmcbackup/scheduler.py | 1 -
.../LICENSE.txt | 0
service.libraryautoupdate/README.txt | 45 +++
service.libraryautoupdate/addon.xml | 62 ++++
service.libraryautoupdate/changelog.txt | 186 ++++++++++
service.libraryautoupdate/default.py | 6 +
service.libraryautoupdate/disclaimer.py | 5 +
service.libraryautoupdate/icon.png | Bin 0 -> 134394 bytes
service.libraryautoupdate/manual.py | 24 ++
.../resources/.gitignore | 0
.../resources}/__init__.py | 0
.../resources/images/clock.png | Bin 0 -> 126059 bytes
.../resources/language/Afrikaans/strings.xml | 10 +
.../resources/language/Albanian/strings.xml | 10 +
.../resources/language/Amharic/strings.xml | 10 +
.../resources/language/Arabic/strings.xml | 10 +
.../resources/language/Basque/strings.xml | 53 +++
.../resources/language/Belarusian/strings.xml | 55 +++
.../resources/language/Bosnian/strings.xml | 10 +
.../resources/language/Bulgarian/strings.xml | 57 +++
.../resources/language/Catalan/strings.xml | 10 +
.../language/Chinese (Simple)/strings.xml | 55 +++
.../language/Chinese (Traditional)/strings.xml | 10 +
.../resources/language/Croatian/strings.xml | 55 +++
.../resources/language/Czech/strings.xml | 11 +
.../resources/language/Danish/strings.xml | 55 +++
.../resources/language/Dutch/strings.xml | 55 +++
.../resources/language/English/strings.xml | 57 +++
.../resources/language/Esperanto/strings.xml | 10 +
.../resources/language/Estonian/strings.xml | 10 +
.../resources/language/Finnish/strings.xml | 10 +
.../resources/language/French/strings.xml | 55 +++
.../resources/language/Galician/strings.xml | 55 +++
.../resources/language/German/strings.xml | 55 +++
.../resources/language/Greek/strings.xml | 55 +++
.../language/Haitian (Haitian Creole)/strings.xml | 8 +
.../resources/language/Hebrew/strings.xml | 10 +
.../language/Hindi (Devanagiri)/strings.xml | 10 +
.../resources/language/Hungarian/strings.xml | 55 +++
.../resources/language/Icelandic/strings.xml | 11 +
.../resources/language/Indonesian/strings.xml | 10 +
.../resources/language/Italian/strings.xml | 55 +++
.../resources/language/Japanese/strings.xml | 10 +
.../resources/language/Korean/strings.xml | 53 +++
.../resources/language/Latvian/strings.xml | 10 +
.../resources/language/Lithuanian/strings.xml | 53 +++
.../resources/language/Macedonian/strings.xml | 10 +
.../resources/language/Malay/strings.xml | 10 +
.../resources/language/Malayalam/strings.xml | 10 +
.../resources/language/Maltese/strings.xml | 10 +
.../resources/language/Norwegian/strings.xml | 11 +
.../resources/language/Persian (Iran)/strings.xml | 10 +
.../resources/language/Persian/strings.xml | 10 +
.../resources/language/Polish/strings.xml | 55 +++
.../language/Portuguese (Brazil)/strings.xml | 55 +++
.../resources/language/Portuguese/strings.xml | 55 +++
.../resources/language/Romanian/strings.xml | 10 +
.../resources/language/Russian/strings.xml | 11 +
.../language/Serbian (Cyrillic)/strings.xml | 10 +
.../resources/language/Serbian/strings.xml | 10 +
.../resources/language/Slovak/strings.xml | 55 +++
.../resources/language/Slovenian/strings.xml | 10 +
.../language/Spanish (Argentina)/strings.xml | 10 +
.../language/Spanish (Mexico)/strings.xml | 49 +++
.../resources/language/Spanish/strings.xml | 55 +++
.../resources/language/Swedish/strings.xml | 55 +++
.../resources/language/Tamil (India)/strings.xml | 8 +
.../resources/language/Thai/strings.xml | 11 +
.../resources/language/Turkish/strings.xml | 11 +
.../resources/language/Ukrainian/strings.xml | 10 +
.../resources/language/Vietnamese/strings.xml | 10 +
.../resources/lib}/__init__.py | 0
.../resources/lib/croniter.py | 0
.../resources/lib/relativedelta.py | 0
service.libraryautoupdate/resources/lib/utils.py | 30 ++
service.libraryautoupdate/resources/settings.xml | 49 +++
service.libraryautoupdate/service.py | 358 ++++++++++++++++++++
service.subtitles.subscenter/addon.xml | 2 +-
service.subtitles.subscenter/changelog.txt | 5 +-
.../resources/lib/SUBUtilities.py | 4 +-
86 files changed, 2605 insertions(+), 48 deletions(-)
copy {script.xbmcbackup => service.libraryautoupdate}/LICENSE.txt (100%)
create mode 100644 service.libraryautoupdate/README.txt
create mode 100644 service.libraryautoupdate/addon.xml
create mode 100644 service.libraryautoupdate/changelog.txt
create mode 100644 service.libraryautoupdate/default.py
create mode 100644 service.libraryautoupdate/disclaimer.py
create mode 100644 service.libraryautoupdate/icon.png
create mode 100644 service.libraryautoupdate/manual.py
copy {script.xbmcbackup => service.libraryautoupdate}/resources/.gitignore
(100%)
copy {script.cu.lrclyrics/resources/lib/culrcscrapers =>
service.libraryautoupdate/resources}/__init__.py (100%)
create mode 100644 service.libraryautoupdate/resources/images/clock.png
create mode 100644
service.libraryautoupdate/resources/language/Afrikaans/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Albanian/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Amharic/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Arabic/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Basque/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Belarusian/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Bosnian/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Bulgarian/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Catalan/strings.xml
create mode 100644 service.libraryautoupdate/resources/language/Chinese
(Simple)/strings.xml
create mode 100644 service.libraryautoupdate/resources/language/Chinese
(Traditional)/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Croatian/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Czech/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Danish/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Dutch/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/English/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Esperanto/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Estonian/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Finnish/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/French/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Galician/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/German/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Greek/strings.xml
create mode 100644 service.libraryautoupdate/resources/language/Haitian
(Haitian Creole)/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Hebrew/strings.xml
create mode 100644 service.libraryautoupdate/resources/language/Hindi
(Devanagiri)/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Hungarian/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Icelandic/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Indonesian/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Italian/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Japanese/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Korean/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Latvian/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Lithuanian/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Macedonian/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Malay/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Malayalam/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Maltese/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Norwegian/strings.xml
create mode 100644 service.libraryautoupdate/resources/language/Persian
(Iran)/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Persian/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Polish/strings.xml
create mode 100644 service.libraryautoupdate/resources/language/Portuguese
(Brazil)/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Portuguese/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Romanian/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Russian/strings.xml
create mode 100644 service.libraryautoupdate/resources/language/Serbian
(Cyrillic)/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Serbian/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Slovak/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Slovenian/strings.xml
create mode 100644 service.libraryautoupdate/resources/language/Spanish
(Argentina)/strings.xml
create mode 100644 service.libraryautoupdate/resources/language/Spanish
(Mexico)/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Spanish/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Swedish/strings.xml
create mode 100644 service.libraryautoupdate/resources/language/Tamil
(India)/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Thai/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Turkish/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Ukrainian/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Vietnamese/strings.xml
copy {script.cu.lrclyrics/resources/lib/culrcscrapers =>
service.libraryautoupdate/resources/lib}/__init__.py (100%)
copy {script.xbmcbackup =>
service.libraryautoupdate}/resources/lib/croniter.py (100%)
copy {script.xbmcbackup =>
service.libraryautoupdate}/resources/lib/relativedelta.py (100%)
create mode 100644 service.libraryautoupdate/resources/lib/utils.py
create mode 100644 service.libraryautoupdate/resources/settings.xml
create mode 100644 service.libraryautoupdate/service.py
hooks/post-receive
--
Scripts
------------------------------------------------------------------------------
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons