The branch, frodo has been updated
via 08e462cc1c332722f901353fe0478b18e4537001 (commit)
from a78d7edf210d06ac03a1cd4198724608faa833a2 (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=08e462cc1c332722f901353fe0478b18e4537001
commit 08e462cc1c332722f901353fe0478b18e4537001
Author: Martijn Kaijser <[email protected]>
Date: Sat Nov 24 16:42:03 2012 +0100
[service.libraryautoupdate] -0.6.5
diff --git a/service.libraryautoupdate/README.txt
b/service.libraryautoupdate/README.txt
index a76e1e2..a5b4fcf 100644
--- a/service.libraryautoupdate/README.txt
+++ b/service.libraryautoupdate/README.txt
@@ -4,16 +4,16 @@ Thanks to pkscuot for several small tweaks to this addon!
General Settings:
+Startup Delay - if an update should run on startup (dependant on the time the
last update has ran) this will delay it from running for a few minutes to allow
other XBMC process to function.
Show Notifications - shows notifications when the updater will run again
Run During Playback - should the addon run when you are playing media
+
Update video - updates video library
update music - updates music library
Video path - updates a specific video path. DISCLAIMER - the path you select
must already be in the video database and have content selected. The path must
also match your source path exactly.
Timer Options:
-Startup Delay - if an update should run on startup (dependant on the time the
last update has ran) this will delay it from running for a few minutes to allow
other XBMC process to function.
-
Standard Timer - specify an interval to run the library update process. It
will be launched every X hours within the interval unless on of the conditions
specified by you as been met (don't run during media playback, etc) in which
case it will be run at the next earliest convenience.
Advanced Timer - specify a cron expression to use as an interval for the
update process. By default the expression will run at the top of every hour.
More advanced expressions can be configured such as:
@@ -34,8 +34,12 @@ Read up on cron (http://en.wikipedia.org/wiki/Cron) for more
information on how
Cleaning the Library:
-Cleaning the Music/Video Libraries is not enabled by default. If you choose to
do this you can select from a few options. Keep in mind that the cleaning
operations will only run if the Auto Update addon is also enabled to update
those specific libraries.
+Cleaning the Music/Video Libraries is not enabled by default. If you choose to
do this you can select from a few options to try and reduce the likelyhood that
a DB clean wile hose your database.
+
+Library to Clean - You can clean your video library, music library, or both.
Verify Sources Before Clean - this will verify all of your media paths (music
or video) before running a clean operation. If any of these paths are
inaccessible the clean operation will not continue and an error will be logged
-Frequency - There are several frequency options. "After Update" will run a
clean immediately following a standard update. The Day/Week/Month options will
schedule a clean task to happen. Cleaning the Video Library is hardcoded for
midnight and the music library at 2am. Weekly updates occur on Sunday and
Monthly updates occur on the first of each month - these values are hardcoded.
\ No newline at end of file
+Prompt User Before Cleaning - you must confirm that you want to clean the
library before it will happen. Really only useful for "After Update" as a
condition.
+
+Frequency - There are several frequency options. "After Update" will run a
clean immediately following a scan on the selected library. The Day/Week/Month
options will schedule a clean task to happen. Cleaning the Video Library is
hardcoded for midnight and the music library at 2am. Weekly updates occur on
Sunday and Monthly updates occur on the first of each month - these values are
hardcoded.
\ No newline at end of file
diff --git a/service.libraryautoupdate/addon.xml
b/service.libraryautoupdate/addon.xml
index 1294791..b10fb04 100644
--- a/service.libraryautoupdate/addon.xml
+++ b/service.libraryautoupdate/addon.xml
@@ -1,6 +1,6 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="service.libraryautoupdate"
- name="XBMC Library Auto Update" version="0.6.3" provider-name="robweber">
+ name="XBMC Library Auto Update" version="0.6.5" provider-name="robweber">
<requires>
<import addon="xbmc.python" version="2.0"/>
</requires>
@@ -10,11 +10,27 @@
<extension point="xbmc.service" library="default.py" start="login">
</extension>
<extension point="xbmc.addon.metadata">
- <language></language>
+ <summary lang="de">Update deine XBMC Video- und Musiklibrariers mit einem
Timer. Der Timer läuft als ein XBMC service, sodass Du niemals ein Update
verpasst.</summary>
<summary lang="en">Update your XBMC Video and Music Libraries on a timer.
Timer runs as an XBMC service so you never miss an update.</summary>
+ <summary lang="es">Actualice sus librerÃas de Video y Musica de XBMC con
un temporizador. El temporizador se ejecuta como un servicio para que nunca se
pierda una actualización.</summary>
+ <summary lang="es_MX">Actualiza tus bibliotecas de video y música de XBMC
en base a un temporizador. El temporizador se ejecuta como un servicio de XBMC
para que nunca te pierdas una actualización</summary>
+ <summary lang="fr">Mettez à jour votre vidéo médiathèques XBMC et
votre bibliothèques musicales avec une minuterie. La minuterie fonctionne
comme un service XBMC afin que vous ne manquez jamais une mise Ã
jour.</summary>
+ <summary lang="lt">Atnaujinkite savo XBMC pagal laikmatį. Taip kad
niekada nepraleisite naujinimų.</summary>
+ <summary lang="pl">Zaktualizuj swoja bibliotekÄ filmów i albumów
muzycznych dziÄki Timerowi. Timer dziaÅa jako usÅuga XBMC, wiÄc nigdy nie
przegapisz aktualizacji.</summary>
+ <summary lang="pt_BR">Atualize sua coleção de vÃdeos e músicas no XBMC
com agendamentos. Agendamentos rodam como serviço no XBMC, para que você
nunca mais se esqueça de atualizar.</summary>
+ <summary lang="sk">Aktualizujte Vašu XBMC Video a Hudobnú knižnicu
podľa ÄasovaÄa. ÄasovaÄ bežà ako XBMC služba, takže nikdy nezmeÅ¡káte
aktualizáciu.</summary>
+ <summary lang="sv">Uppdatera ditt XBMC video och musikbibliotek
schemalagt. Schemaläggaren körs som en XBMC-service så du aldrig missar en
uppdatering.</summary>
<description lang="en">This is an XBMC Service that will update your music
and video libraries on a timer. You can select a different interval to scan
your media databases (Audio,Video,Both) or you can set a cron-style timer for
greater control. If you are playing an audio or video file when the timer
starts it can skip the library update process until it is completed so that
you're media experience is not interrupted. Updating a specific Video Path, and
Cleaning the Music/Video libraries is now supported.</description>
- <summary lang="fr">Mettez à jour votre vidéo médiathèques XBMC et
votre bibliothèques musicales avec une minuterie. La minuterie fonctionne
comme un service XBMC afin que vous ne manquez jamais une mise Ã
jour.</summary>
+ <description lang="es">Este es un servicio de XBMC que actualizara sus
librerÃas de música y video con un temporizador. Puede elegir intervalos
diferentes para escanear sus bases de datos (video, música, ambas) o puede
elegir un temporizador del estilo "cron" para un mayor control. Si esta
reproduciendo audio o video cuando el temporizador se ejecuta, omitirá la
actualización hasta que acabe la reproducción, para que no interrumpa su
experiencia multimedia. Actualizar una ruta especifica y limpiar las bases de
datos de música y video esta ahora soportado.</description>
+ <description lang="es_MX">Esto es un servicio de XBMC que actualiza tus
bibliotecas de música y video en base a un temporizador. Puedes seleccionar
diferentes intervalos para escanear tus bases de datos de medios (Audio, Video,
Ambas) o puedes configurar un temporizador de estilo Cron para un mayor
control. Si estas reproduciendo audio o video cuando el temporizador empieza,
puede saltarse la actualización de bibliotecas hasta que esta termine,
evitando de esta manera una interrupción en la reproducción de medios.
Actualizar una ruta especÃfica de video y limpiar bibliotecas de Música/Video
se encuentra ahora soportado</description>
<description lang="fr">Il s'agit d'un service de XBMC qui mettra à jour
vos bibliothèques musicale et vidéo sur une minuterie. Vous pouvez
sélectionner plusieurs intervalles pour scanner vos bases de données
multimédia (Audio,Vidéo,Les deux) ou vous pouvez régler une minuterie pour
un meilleur contrôle. Si vous jouez un fichier audio ou vidéo lorsque la
minuterie démarre, le processus de mise à jour bibliothèque peut être
ignoré jusqu'à ce que la lecture soit terminée afin que votre expérience
multimédia ne soit pas interrompue. Mise à jour dâun chemin vidéo
spécifique, et nettoyage des bibliothèques de musique/vidéo est maintenant
supporté.</description>
- <platform>all</platform>
+ <description lang="lt">Tai XBMC paslauga, kuria galite atnaujinti savo
muzikos ir vaizdo bibliotekas pagal laikmatį. JÅ«s galite pasirinkti kitÄ
laikmatÄ katras tam tikrais intervalais ieÅ¡kos medijos bazÄse (audio, video)
arba galite nustatyti 'Cron' stiliaus laikmatį geriasnem kontroliavimui. Kai
grojami garso ar vaizdo failai, laikmatis gali praleisti bibliotekos
atnaujinimo procesÄ
. Atnaujinant vaizdo priedus, valymas Muzika/Video
bibliotekų dabar nepalaikomas.</description>
+ <description lang="pl">Jest to usÅuga XBMC która zaktualizuje twojÄ
bibliotekÄ muzyki oraz wideo. Możesz ustawiÄ odstÄp czasu w jakim twoja
baza (audio, video, razem) bÄdzie skanowana lub ustawiÄ Timer chronologiczny
dla lepszej kontroli. Jeżeli odtwarzasz muzykÄ lub film i Timer zacznie prace
nie przejmuj siÄ, aktualizacja biblioteki rozpocznie sie po zakoÅczeniu
odtwarzania. Aktualizacja specyficznej Åcieżki Video, oraz czyszczenie
bibliotek Muzyki / Video jest teraz obsÅugiwane.</description>
+ <description lang="pt_BR">Este é um serviço XBMC que irá atualizar a
sua coleção de vÃdeos e músicas através de agendador de atividade. Você
pode selecionar um intervalo diferente para escanear seus bancos de dados de
mÃdia (áudio, vÃdeo, tanto) ou você pode definir um temporizador estilo
cron para maior controle. Se você estiver reproduzindo um arquivo de áudio
ou vÃdeo quando o cronômetro iniciar, ele pode pular o processo de
atualização da biblioteca até que seja concluÃda, de modo que sua
experiência de mÃdia não é interrompido. Atualizar um caminho de vÃdeo
especÃfico, e de limpeza das bibliotecas de música / vÃdeo é agora
suportado.</description>
+ <description lang="sk">Toto je XBMC služba, ktorá aktualizuje Vašu XBMC
Hudobnú a Video knižnicu podľa ÄasovaÄa. Môžete zvoliÅ¥ rôzne intervaly
aktualizácie databáz (Hudba,Video,oboje) alebo pre väÄÅ¡iu kontrolu zadáte
ÄasovaÄ podobný Cron-u. Pokiaľ práve prehrávate hudobný alebo video
súbor poÄas Å¡tartu ÄasovaÄa, môže byÅ¥ aktualizácia odložená, aby
nebol Váš mediálny zážitok narušený. Aktualizácia špecifických ciest
a upratovanie Hudobnej/Video databázy je tiež podporované. </description>
+ <description lang="sv">Detta är en XBMC-service som schemalagt kommer att
uppdatera ditt musik och videobibliotek. Du kan välja olika intervall att
skanna dina mediadatabaser (Musik,Video,Båda) eller så kan du ange ett
cron-inspirerad schemaläggare för bättre kontroll. Om du spelare en musik
eller videofil när schemaläggaren startar, kan det hoppa över
biblioteksuppdateringen till uppspelningen är klar så mediaupplevelsen inte
avbryts. Uppdatering av en specifik videosökväg och rensning av
musik/videobiblioteken stödjs nu.</description>
+ <language></language>
</extension>
</addon>
+
+
diff --git a/service.libraryautoupdate/changelog.txt
b/service.libraryautoupdate/changelog.txt
index 2d3b6c3..76f1c68 100644
--- a/service.libraryautoupdate/changelog.txt
+++ b/service.libraryautoupdate/changelog.txt
@@ -1,80 +1,96 @@
-[B]Version 0.6.3[/B]
+Version 0.6.5
+
+added setting to prompt user before doing scheduled clean. Defaults to False.
+
+added ability to schedule cleaning separate
+
+additional translations
+
+Version 0.6.4
+
+- added strings from notifications and logging into the strings.xml files
+
+- strings reorganization (affected translations)
+
+- updated to french translation file
+
+Version 0.6.3
- added French translation file, thanks to foX aCe
-[B]Version 0.6.2[/B]
+Version 0.6.2
- needed a catch in case the last_run.txt file is blank, or has non-integer
data. thanks to mmounirou for catching this
-[B]Version 0.6.1[/B]
+Version 0.6.1
- added 2 more custom library path options
-[B]Version 0.6.0[/B]
+Version 0.6.0
- added "Cleaning" category to schedule a clean operation of the music/video
databases. This operation can happen immediately after a scan or once per
day/week/month. Verifying source paths before a clean is also supported
-[B]Version 0.5.9[/B]
+Version 0.5.9
- added a custom video path option to only scan a specific video path instead
of the entire library
-[B]Version 0.5.8[/B]
+Version 0.5.8
- added a 1 minute delay timer before running a scan if XBMC has just exited
playback. This should help in scenerios where ending media viewing results in
an immediate scan that the user didn't want.
-[B]Version 0.5.7[/B]
+Version 0.5.7
- merged 'standard' and 'advanced' usage to follow more of the same codebase.
Now the standard timer uses a cron expression as well and will start at the top
of every hour
-[B]Version 0.5.6[/B]
+Version 0.5.6
-updated the manual run interface to include information about when the
updater will run again
-[B]Version 0.5.5[/B]
+Version 0.5.5
-changed cron expression library. Croniter will allow iterating through the
cron expressions and show the next update time
-added methods to display a "countdown" when the next update will occur, and
settings to display notifications
-[B]Version 0.5.4[/B]
+Version 0.5.4
-fixed issue with startup timer, thanks stevenD
-[B]Version 0.5.2[/B]
+Version 0.5.2
-fixed os import error
-[B]Version 0.5.1[/B]
+Version 0.5.1
-merged changes from pkscuot's branch.
-rounds last_run to top of the minute (timer executes at 00 not anywhere in
minute)
-creates addon data directory if it doesn't exist
-[B]Version 0.5.0[/B]
+Version 0.5.0
-major changes to settings, split them by General and Timer category
-Advanced timer functions now add the ability to do cron-like scheduling of
the update process, thanks to pkscuot for the timer ideas
-option to skip during media playback or run the update anyway
-[B]Version 0.4.1[/B]
+Version 0.4.1
-added extra setting for a "startup delay" timer. This will only affect the
addon when xbmc starts.
-the last running time is now set to a variable so that manual updates will
reset the timer, and system resets will start the service where it left off
-[B]Version 0.4.0[/B]
+Version 0.4.0
- Had a user suggestion to allow for a manual launch of the process as well as
the service. Since the service point will ALWAYS launch on startup the manual
option will kick off the library update process.
-[B]Version 0.3.9[/B]
+Version 0.3.9
- running video and music scans side by side never really worked. Now checks
if scan is running and waits until complete before running the next scan.
-[B]Version 0.3.5[/B]
+Version 0.3.5
- now runs as a service instead of needing the autoexec.py file
- removed sample autoexec.py
-[B]Version 0.3.1[/B]
+Version 0.3.1
- fixed a really stupid indent error
- added cancelalarm call in case run more than once
diff --git a/service.libraryautoupdate/disclaimer.py
b/service.libraryautoupdate/disclaimer.py
index 8af14a3..d119e64 100644
--- a/service.libraryautoupdate/disclaimer.py
+++ b/service.libraryautoupdate/disclaimer.py
@@ -5,4 +5,4 @@ addon_id = "service.libraryautoupdate"
Addon = xbmcaddon.Addon(addon_id)
#show the disclaimer
-xbmcgui.Dialog().ok(Addon.getLocalizedString(30018),"",Addon.getLocalizedString(30019),Addon.getLocalizedString(30020))
+xbmcgui.Dialog().ok(Addon.getLocalizedString(30031),"",Addon.getLocalizedString(30032),Addon.getLocalizedString(30033))
diff --git a/service.libraryautoupdate/manual.py
b/service.libraryautoupdate/manual.py
index bc61b12..c5c6fe6 100644
--- a/service.libraryautoupdate/manual.py
+++ b/service.libraryautoupdate/manual.py
@@ -9,7 +9,7 @@ autoUpdate = AutoUpdater()
nextRun = autoUpdate.showNotify(False)
#check if we should run updates
-runUpdate =
xbmcgui.Dialog().yesno(Addon.getLocalizedString(30010),Addon.getLocalizedString(30011)
+ nextRun,Addon.getLocalizedString(30012))
+runUpdate =
xbmcgui.Dialog().yesno(Addon.getLocalizedString(30000),Addon.getLocalizedString(30060)
+ nextRun,Addon.getLocalizedString(30061))
if(runUpdate):
#run the program
diff --git a/service.libraryautoupdate/resources/language/English/strings.xml
b/service.libraryautoupdate/resources/language/English/strings.xml
index 2ebf217..6f383d0 100644
--- a/service.libraryautoupdate/resources/language/English/strings.xml
+++ b/service.libraryautoupdate/resources/language/English/strings.xml
@@ -1,35 +1,51 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<strings>
- <string id="30010">XBMC Library Auto Update</string>
- <string id="30000">General</string>
- <string id="30001">Amount of time between updates (hours)</string>
- <string id="30002">Update Video Library</string>
- <string id="30003">Update Music Library</string>
- <string id="30004">Startup Delay (minutes)</string>
- <string id="30005">Video</string>
- <string id="30006">Used Advanced Timer</string>
- <string id="30007">Cron Expression</string>
- <string id="30008">Run during playback</string>
- <string id="30009">Show Notifications</string>
+ <string id="30000">XBMC Library Auto Update</string>
- <!-- gui -->
- <string id="30011">Update will run again </string>
- <string id="30012">Do you wish to manually run an update?</string>
-
- <string id="30013">Music</string>
- <string id="30014">Cleaning</string>
- <string id="30015">Update Specific Path 1</string>
- <string id="30024">Update Specific Path 2</string>
- <string id="30025">Update Specific Path 3</string>
- <string id="30016">Video Path</string>
- <string id="30017">Read Disclaimer</string>
+ <string id="30001">General</string>
+ <string id="30002">Video</string>
+ <string id="30003">Music</string>
+ <string id="30004">Update Video Library</string>
+ <string id="30005">Update Music Library</string>
+ <string id="30006">Show Notifications</string>
+ <string id="30007">Run during playback</string>
+ <string id="30008">Startup Delay (minutes)</string>
+ <string id="30009">Used Advanced Timer</string>
+ <string id="30010">Amount of time between updates (hours)</string>
+ <string id="30011">Cron Expression</string>
+
+ <!-- specific paths -->
+ <string id="30020">Update Specific Path 1</string>
+ <string id="30021">Update Specific Path 2</string>
+ <string id="30022">Update Specific Path 3</string>
+ <string id="30023">Video Path</string>
<!-- disclaimer -->
- <string id="30018">Video Paths Disclaimer</string>
- <string id="30019">Path must already be a video source with
content</string>
- <string id="30020">Path must match source path exactly to scan</string>
+ <string id="30030">Read Disclaimer</string>
+ <string id="30031">Video Paths Disclaimer</string>
+ <string id="30032">Path must already be a video source with
content</string>
+ <string id="30033">Path must match source path exactly to scan</string>
+
+ <!-- cleaning -->
+ <string id="30040">Cleaning</string>
+ <string id="30041">Clean Libraries</string>
+ <string id="30042">Verify Sources Before Clean</string>
+ <string id="30043">Frequency</string>
+ <string id="30044">After Update</string>
+ <string id="30045">Once Per Day</string>
+ <string id="30046">Once Per Week</string>
+ <string id="30047">Once Per Month</string>
+ <string id="30048">Clean Video Library</string>
+ <string id="30049">Clean Music Library</string>
+ <string id="30050">Error Cleaning Database</string>
+ <string id="30051">Prompt User Before Cleaning Library</string>
+ <string id="30052">A database clean is scheduled to run</string>
+ <string id="30053">Would you like to run it now?</string>
+ <string id="30054">Library to clean</string>
+ <string id="30055">Both</string>
+
+ <!-- manual run -->
+ <string id="30060">Update will run again </string>
+ <string id="30061">Do you wish to manually run an update?</string>
- <string id="30021">Clean Libraries</string>
- <string id="30022">Verify Sources Before Clean</string>
- <string id="30023">Frequency</string>
</strings>
diff --git a/service.libraryautoupdate/resources/language/French/strings.xml
b/service.libraryautoupdate/resources/language/French/strings.xml
index 1f885be..38edf0e 100644
--- a/service.libraryautoupdate/resources/language/French/strings.xml
+++ b/service.libraryautoupdate/resources/language/French/strings.xml
@@ -1,32 +1,49 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<!--Language file translated with Team XBMC Translator-->
-<!--Date of translation: 08/20/2012-->
-<!--$Revision$-->
<strings>
- <string id="30000">Général</string>
- <string id="30001">Temps entre les mises à jour (heures)</string>
- <string id="30002">Mise à jour Médiathèque</string>
- <string id="30003">Mise à jour bibliothèque musical</string>
- <string id="30004">Délai de démarrage (minutes)</string>
- <string id="30005">Vidéo</string>
- <string id="30006">Utiliser minuterie avancée</string>
- <string id="30007">Cron Expression</string>
- <string id="30008">Exécuter pendant la lecture</string>
- <string id="30009">Afficher les notifications</string>
- <string id="30010">XBMC Médiathèque mise à jour automatique</string>
- <string id="30011">Une mise à jour aura lieu de nouveau dans </string>
- <string id="30012">Souhaitez exécuter une mise à jour manuellement
?</string>
- <string id="30013">Musique</string>
- <string id="30014">Nettoyage</string>
- <string id="30015">Mise à jour chemin spécifique 1</string>
- <string id="30016">Chemin vidéo</string>
- <string id="30017">Lire Avertissement</string>
- <string id="30018">Avertissement chemins vidéo</string>
- <string id="30019">Le chemin doit être une source vidéo avec du
contenu</string>
- <string id="30020">Le chemin doit correspondre au chemin source pour
l'analyse</string>
- <string id="30021">Nettoyer Médiathèques</string>
- <string id="30022">Vérifier les sources avant de nettoyer</string>
- <string id="30023">Fréquence</string>
- <string id="30024">Mise à jour chemin spécifique 2</string>
- <string id="30025">Mise à jour chemin spécifique 3</string>
-</strings>
\ No newline at end of file
+ <string id="30000">XBMC Médiathèque mise à jour automatique</string>
+ <string id="30001">Général</string>
+ <string id="30002">Vidéo</string>
+ <string id="30003">Musique</string>
+ <string id="30004">Mise à jour médiathèque</string>
+ <string id="30005">Mise à jour bibliothèque musical</string>
+ <string id="30006">Afficher les notifications</string>
+ <string id="30007">Exécuter pendant la lecture</string>
+ <string id="30008">Délai de démarrage (minutes)</string>
+ <string id="30009">Utiliser minuterie avancée</string>
+ <string id="30010">Temps entre les mises à jour (heures)</string>
+ <string id="30011">Cron Expression</string>
+
+ <!-- specific paths -->
+ <string id="30020">Mise à jour chemin spécifique 1</string>
+ <string id="30021">Mise à jour chemin spécifique 2</string>
+ <string id="30022">Mise à jour chemin spécifique 3</string>
+ <string id="30023">Chemin vidéo</string>
+
+ <!-- disclaimer -->
+ <string id="30030">Lire Avertissement</string>
+ <string id="30031">Avertissement chemins vidéo</string>
+ <string id="30032">Le chemin doit être une source vidéo avec du
contenu</string>
+ <string id="30033">Le chemin doit correspondre au chemin source pour
l'analyse</string>
+
+ <!-- cleaning -->
+ <string id="30040">Nettoyage</string>
+ <string id="30041">Nettoyer la médiathèques</string>
+ <string id="30042">Vérifier les sources avant de nettoyer</string>
+ <string id="30043">Fréquence</string>
+ <string id="30044">Après mise à jour</string>
+ <string id="30045">Une fois par jour</string>
+ <string id="30046">Une fois par semaine</string>
+ <string id="30047">Une fois par mois</string>
+ <string id="30048">Nettoyage bibliothèque vidéo</string>
+ <string id="30049">Nettoyage bibliothèque musicale</string>
+ <string id="30050">Erreur de nettoyage de la base de données</string>
+ <string id="30051"></string>
+ <string id="30052"></string>
+ <string id="30053"></string>
+ <string id="30054"></string>
+ <string id="30055"></string>
+
+ <!-- manual run -->
+ <string id="30060">Une mise à jour aura lieu de nouveau dans </string>
+ <string id="30061">Souhaitez exécuter une mise à jour manuellement
?</string>
+</strings>
diff --git a/service.libraryautoupdate/resources/settings.xml
b/service.libraryautoupdate/resources/settings.xml
index 62f1e44..d8c525c 100644
--- a/service.libraryautoupdate/resources/settings.xml
+++ b/service.libraryautoupdate/resources/settings.xml
@@ -1,45 +1,47 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<settings>
- <category id="general" label="30000">
- <setting id="startup_delay" type="enum" values="0|1|2|3|4|5"
label="30004" default="0" />
- <setting id="notify_next_run" type="bool" label="30009"
default="true" />
- <setting id="run_during_playback" type="bool" label="30008"
default="false" />
+ <category id="general" label="30001">
+ <setting id="startup_delay" type="enum" values="0|1|2|3|4|5"
label="30008" default="0" />
+ <setting id="notify_next_run" type="bool" label="30006"
default="true" />
+ <setting id="run_during_playback" type="bool" label="30007"
default="false" />
</category>
- <category id="video_timer" label="30005">
- <setting id="update_video" type="bool" label="30002"
default="true" />
- <setting id="video_advanced_timer" type="bool" label="30006"
default="false" enable="eq(-1,true)"/>
- <setting id="video_timer" type="enum" values="1|2|4|6|12|24"
label="30001" default="2" enable="!eq(-1,true) + eq(-2,true)"
visible="!eq(-1,true)" />
- <setting id="video_cron_expression" type="text" label="30007"
visible="eq(-2,true)" enable="eq(-2,true) + eq(-3,true)" default="0 * * * *" />
+ <category id="video_timer" label="30002">
+ <setting id="update_video" type="bool" label="30004"
default="true" />
+ <setting id="video_advanced_timer" type="bool" label="30009"
default="false" enable="eq(-1,true)"/>
+ <setting id="video_timer" type="enum" values="1|2|4|6|12|24"
label="30010" default="2" enable="!eq(-1,true) + eq(-2,true)"
visible="!eq(-1,true)" />
+ <setting id="video_cron_expression" type="text" label="30011"
visible="eq(-2,true)" enable="eq(-2,true) + eq(-3,true)" default="0 * * * *" />
<setting type="sep" />
- <setting id="help_button" type="action"
action="RunScript(special://home/addons/service.libraryautoupdate/disclaimer.py)"
label="30017" />
+ <setting id="help_button" type="action"
action="RunScript(special://home/addons/service.libraryautoupdate/disclaimer.py)"
label="30030" />
<!-- custom paths -->
- <setting id="use_custom_1_path" type="bool" label="30015"
default="false" />
- <setting id="custom_1_advanced_timer" type="bool" label="30006"
default="false" enable="eq(-1,true)" visible="eq(-1,true)" />
- <setting id="custom_1_timer" type="enum" values="1|2|4|6|12|24"
label="30001" default="2" enable="!eq(-1,true) + eq(-2,true)"
visible="!eq(-1,true) + eq(-2,true)" />
- <setting id="custom_1_cron_expression" type="text"
label="30007" enable="eq(-2,true) + eq(-3,true)" default="0 * * * *"
visible="eq(-2,true) + eq(-3,true)" />
- <setting id="custom_1_scan_path" type="folder" label="30016"
enable="eq(-4,true)" visible="eq(-4,true)" />
+ <setting id="use_custom_1_path" type="bool" label="30020"
default="false" />
+ <setting id="custom_1_advanced_timer" type="bool" label="30009"
default="false" enable="eq(-1,true)" visible="eq(-1,true)" />
+ <setting id="custom_1_timer" type="enum" values="1|2|4|6|12|24"
label="30010" default="2" enable="!eq(-1,true) + eq(-2,true)"
visible="!eq(-1,true) + eq(-2,true)" />
+ <setting id="custom_1_cron_expression" type="text"
label="30011" enable="eq(-2,true) + eq(-3,true)" default="0 * * * *"
visible="eq(-2,true) + eq(-3,true)" />
+ <setting id="custom_1_scan_path" type="folder" label="30023"
enable="eq(-4,true)" visible="eq(-4,true)" />
<!-- custom 2 -->
- <setting id="use_custom_2_path" type="bool" label="30024"
default="false" />
- <setting id="custom_2_advanced_timer" type="bool" label="30006"
default="false" enable="eq(-1,true)" visible="eq(-1,true)" />
- <setting id="custom_2_timer" type="enum" values="1|2|4|6|12|24"
label="30001" default="2" enable="!eq(-1,true) + eq(-2,true)"
visible="!eq(-1,true) + eq(-2,true)" />
- <setting id="custom_2_cron_expression" type="text"
label="30007" enable="eq(-2,true) + eq(-3,true)" default="0 * * * *"
visible="eq(-2,true) + eq(-3,true)" />
- <setting id="custom_2_scan_path" type="folder" label="30016"
enable="eq(-4,true)" visible="eq(-4,true)" />
+ <setting id="use_custom_2_path" type="bool" label="30021"
default="false" />
+ <setting id="custom_2_advanced_timer" type="bool" label="30009"
default="false" enable="eq(-1,true)" visible="eq(-1,true)" />
+ <setting id="custom_2_timer" type="enum" values="1|2|4|6|12|24"
label="30010" default="2" enable="!eq(-1,true) + eq(-2,true)"
visible="!eq(-1,true) + eq(-2,true)" />
+ <setting id="custom_2_cron_expression" type="text"
label="30011" enable="eq(-2,true) + eq(-3,true)" default="0 * * * *"
visible="eq(-2,true) + eq(-3,true)" />
+ <setting id="custom_2_scan_path" type="folder" label="30023"
enable="eq(-4,true)" visible="eq(-4,true)" />
<!-- custom 3 -->
- <setting id="use_custom_3_path" type="bool" label="30025"
default="false" />
- <setting id="custom_3_advanced_timer" type="bool" label="30006"
default="false" enable="eq(-1,true)" visible="eq(-1,true)" />
- <setting id="custom_3_timer" type="enum" values="1|2|4|6|12|24"
label="30001" default="2" enable="!eq(-1,true) + eq(-2,true)"
visible="!eq(-1,true) + eq(-2,true)" />
- <setting id="custom_3_cron_expression" type="text"
label="30007" enable="eq(-2,true) + eq(-3,true)" default="0 * * * *"
visible="eq(-2,true) + eq(-3,true)" />
- <setting id="custom_3_scan_path" type="folder" label="30016"
enable="eq(-4,true)" visible="eq(-4,true)" />
+ <setting id="use_custom_3_path" type="bool" label="30022"
default="false" />
+ <setting id="custom_3_advanced_timer" type="bool" label="30009"
default="false" enable="eq(-1,true)" visible="eq(-1,true)" />
+ <setting id="custom_3_timer" type="enum" values="1|2|4|6|12|24"
label="30010" default="2" enable="!eq(-1,true) + eq(-2,true)"
visible="!eq(-1,true) + eq(-2,true)" />
+ <setting id="custom_3_cron_expression" type="text"
label="30011" enable="eq(-2,true) + eq(-3,true)" default="0 * * * *"
visible="eq(-2,true) + eq(-3,true)" />
+ <setting id="custom_3_scan_path" type="folder" label="30023"
enable="eq(-4,true)" visible="eq(-4,true)" />
</category>
- <category id="music_timer" label="30013">
- <setting id="update_music" type="bool" label="30003"
default="false" />
- <setting id="music_advanced_timer" type="bool" label="30006"
default="false" enable="eq(-1,true)" />
- <setting id="music_timer" type="enum" values="1|2|4|6|12|24"
label="30001" default="2" enable="!eq(-1,true) + eq(-2,true)"
visible="!eq(-1,true)" />
- <setting id="music_cron_expression" type="text" label="30007"
enable="eq(-2,true) + eq(-3,true)" default="0 * * * *" visible="eq(-2,true)" />
+ <category id="music_timer" label="30003">
+ <setting id="update_music" type="bool" label="30005"
default="false" />
+ <setting id="music_advanced_timer" type="bool" label="30009"
default="false" enable="eq(-1,true)" />
+ <setting id="music_timer" type="enum" values="1|2|4|6|12|24"
label="30010" default="2" enable="!eq(-1,true) + eq(-2,true)"
visible="!eq(-1,true)" />
+ <setting id="music_cron_expression" type="text" label="30011"
enable="eq(-2,true) + eq(-3,true)" default="0 * * * *" visible="eq(-2,true)" />
</category>
- <category id="clean_timer" label="30014">
- <setting id="clean_libraries" type="bool" label="30021"
default="false" />
- <setting id="verify_paths" type="bool" label="30022"
default="false" enable="eq(-1,true)"/>
- <setting id="clean_timer" type="enum" values="After Update|Once
Per Day|Once Per Week|Once Per Month" label="30023" default="0"
enable="eq(-2,true)" />
+ <category id="clean_timer" label="30040">
+ <setting id="clean_libraries" type="bool" label="30041"
default="false" />
+ <setting id="library_to_clean" type="enum"
lvalues="30055|30002|30003" label="30054" default="0" enable="eq(-1,true)" />
+ <setting id="verify_paths" type="bool" label="30042"
default="false" enable="eq(-2,true)"/>
+ <setting id="user_confirm_clean" type="bool" label="30051"
default="false" enable="eq(-3,true)" />
+ <setting id="clean_timer" type="enum"
lvalues="30044|30045|30046|30047" label="30043" default="0"
enable="eq(-4,true)" />
</category>
</settings>
diff --git a/service.libraryautoupdate/service.py
b/service.libraryautoupdate/service.py
index 79b011a..8bbf453 100644
--- a/service.libraryautoupdate/service.py
+++ b/service.libraryautoupdate/service.py
@@ -4,6 +4,7 @@ from datetime import datetime
import xbmc
import xbmcaddon
import xbmcvfs
+import xbmcgui
import os
from resources.lib.croniter import croniter
@@ -133,19 +134,25 @@ class AutoUpdater:
self.log("update timers")
self.schedules = []
- clean_after_update = False
+ clean_video_after_update = False
+ clean_music_after_update = True
+
if(self.Addon.getSetting('clean_libraries') == 'true'):
#create clean schedule (if needed)
if(int(self.Addon.getSetting("clean_timer")) == 0):
- clean_after_update = True #clean after executing updates
+ if(self.Addon.getSetting('library_to_clean') == '0' or
self.Addon.getSetting('library_to_clean') == '1'):
+ clean_video_after_update = True
+ if(self.Addon.getSetting('library_to_clean') == '2' or
self.Addon.getSetting('library_to_clean') == '0'):
+ clean_music_after_update = True
else:
#create a separate schedule for cleaning - use right now
rather than last_run, never 'catch-up'
- clean_after_update = False
-
- if(self.Addon.getSetting('update_video') == 'true' or
(self.Addon.getSetting('use_custom_1_path') == 'true' or
self.Addon.getSetting('use_custom_2_path') == 'true' or
self.Addon.getSetting('use_custom_3_path') == 'true')):
+ clean_video_after_update = False
+ clean_music_after_update = False
+
+ if(self.Addon.getSetting('library_to_clean') == '0' or
self.Addon.getSetting('library_to_clean') == '1'):
#video clean schedule starts at 12am
aSchedule = CronSchedule()
- aSchedule.name = 'Clean Video Library'
+ aSchedule.name = self.Addon.getLocalizedString(30048)
aSchedule.timer_type = self.addon_id
aSchedule.command = 'video'
aSchedule.expression = "0 0 " +
aSchedule.cleanLibrarySchedule(int(self.Addon.getSetting("clean_timer")))
@@ -153,10 +160,10 @@ class AutoUpdater:
self.schedules.append(aSchedule)
- if(self.Addon.getSetting('update_music') == 'true'):
+ if(self.Addon.getSetting('library_to_clean') == '2' or
self.Addon.getSetting('library_to_clean') == '0'):
#music clean schedule starts at 2am
aSchedule = CronSchedule()
- aSchedule.name = 'Clean Music Library'
+ aSchedule.name = self.Addon.getLocalizedString(30049)
aSchedule.timer_type = self.addon_id
aSchedule.command = 'music'
aSchedule.expression = "0 2 " +
aSchedule.cleanLibrarySchedule(int(self.Addon.getSetting("clean_timer")))
@@ -168,55 +175,55 @@ class AutoUpdater:
if(self.Addon.getSetting('update_video') == 'true'):
#create the video schedule
aSchedule = CronSchedule()
- aSchedule.name = 'Update Video Library'
+ aSchedule.name = self.Addon.getLocalizedString(30004)
aSchedule.command = 'UpdateLibrary(video)'
aSchedule.expression = self.checkTimer('video')
aSchedule.next_run =
self.calcNextRun(aSchedule.expression,self.last_run)
- aSchedule.clean_library = clean_after_update
+ aSchedule.clean_library = clean_video_after_update
self.schedules.append(aSchedule)
if(self.Addon.getSetting('update_music') == 'true'):
#create the music schedule
aSchedule = CronSchedule()
- aSchedule.name = 'Update Music Library'
+ aSchedule.name = self.Addon.getLocalizedString(30005)
aSchedule.command = 'UpdateLibrary(music)'
aSchedule.expression = self.checkTimer('music')
aSchedule.next_run =
self.calcNextRun(aSchedule.expression,self.last_run)
- aSchedule.clean_library = clean_after_update
+ aSchedule.clean_library = clean_music_after_update
self.schedules.append(aSchedule)
if(self.Addon.getSetting('use_custom_1_path') == 'true'):
#create a custom video path schedule
aSchedule = CronSchedule()
- aSchedule.name = 'Specific Video Path'
+ aSchedule.name = self.Addon.getLocalizedString(30020)
aSchedule.command = 'UpdateLibrary(video,' +
self.Addon.getSetting('custom_1_scan_path') + ')'
aSchedule.expression = self.checkTimer('custom_1')
aSchedule.next_run =
self.calcNextRun(aSchedule.expression,self.last_run)
- aSchedule.clean_library = clean_after_update
+ aSchedule.clean_library = clean_video_after_update
self.schedules.append(aSchedule)
if(self.Addon.getSetting('use_custom_2_path') == 'true'):
#create a custom video path schedule
aSchedule = CronSchedule()
- aSchedule.name = 'Specific Video Path'
+ aSchedule.name = self.Addon.getLocalizedString(30021)
aSchedule.command = 'UpdateLibrary(video,' +
self.Addon.getSetting('custom_2_scan_path') + ')'
aSchedule.expression = self.checkTimer('custom_2')
aSchedule.next_run =
self.calcNextRun(aSchedule.expression,self.last_run)
- aSchedule.clean_library = clean_after_update
+ aSchedule.clean_library = clean_video_after_update
self.schedules.append(aSchedule)
if(self.Addon.getSetting('use_custom_3_path') == 'true'):
#create a custom video path schedule
aSchedule = CronSchedule()
- aSchedule.name = 'Specific Video Path'
+ aSchedule.name = self.Addon.getLocalizedString(30022)
aSchedule.command = 'UpdateLibrary(video,' +
self.Addon.getSetting('custom_3_scan_path') + ')'
aSchedule.expression = self.checkTimer('custom_3')
aSchedule.next_run =
self.calcNextRun(aSchedule.expression,self.last_run)
- aSchedule.clean_library = clean_after_update
+ aSchedule.clean_library = clean_video_after_update
self.schedules.append(aSchedule)
@@ -256,7 +263,7 @@ class AutoUpdater:
inWords = self.nextRunCountdown(next_run_time.next_run)
#show the notification (if applicable)
if(next_run_time.next_run > time.time() and
self.Addon.getSetting('notify_next_run') == 'true' and displayToScreen == True):
- xbmc.executebuiltin("Notification(Library Auto Update," +
next_run_time.name + " " + inWords + ",4000," +
xbmc.translatePath(self.addondir + "/resources/images/clock.png") + ")")
+ xbmc.executebuiltin("Notification(" +
self.Addon.getLocalizedString(30000) + "," + next_run_time.name + " - " +
inWords + ",4000," + xbmc.translatePath(self.addondir +
"/resources/images/clock.png") + ")")
return inWords
@@ -301,11 +308,18 @@ class AutoUpdater:
if not xbmcvfs.exists(source['file']):
#let the user know this failed, if they subscribe to
notifications
if(self.Addon.getSetting('notify_next_run') == 'true'):
- xbmc.executebuiltin("Notification(Error Cleaning
Databse,Source " + source['label'] + " does not exist,4000," +
xbmc.translatePath(self.addondir + "/resources/images/clock.png") + ")")
+ xbmc.executebuiltin("Notification(" +
self.Addon.getLocalizedString(30050) + ",Source " + source['label'] + " does
not exist,4000," + xbmc.translatePath(self.addondir +
"/resources/images/clock.png") + ")")
self.log("Path " + source['file'] + " does not exist")
return
+ #also check if we should verify with user first
+ if(self.Addon.getSetting('user_confirm_clean') == 'true'):
+ #user can decide 'no' here and exit this
+ runClean =
xbmcgui.Dialog().yesno(self.Addon.getLocalizedString(30000),self.Addon.getLocalizedString(30052),self.Addon.getLocalizedString(30053))
+ if(not runClean):
+ return
+
#run the clean operation
self.log("Cleaning Database")
xbmc.executebuiltin("CleanLibrary(" + media_type + ")")
-----------------------------------------------------------------------
Summary of changes:
.../.gitignore | 0
service.libraryautoupdate/README.txt | 12 ++-
service.libraryautoupdate/addon.xml | 26 ++++++--
service.libraryautoupdate/changelog.txt | 52 +++++++++-----
service.libraryautoupdate/disclaimer.py | 2 +-
service.libraryautoupdate/manual.py | 2 +-
.../resources/.gitignore | 0
.../resources/language/English (US)/strings.xml | 49 +++++++++++++
.../resources/language/English/strings.xml | 72 +++++++++++-------
.../resources/language/French/strings.xml | 77 ++++++++++++--------
.../resources/language/German/strings.xml | 49 +++++++++++++
.../resources/language/Greek/strings.xml | 49 +++++++++++++
.../resources/language/Italian/strings.xml | 49 +++++++++++++
.../resources/language/Lithuanian/strings.xml | 49 +++++++++++++
.../resources/language/Polish/strings.xml | 49 +++++++++++++
.../language/Portuguese (Brazil)/strings.xml | 49 +++++++++++++
.../resources/language/Slovak/strings.xml | 49 +++++++++++++
.../language/Spanish (Mexico)/strings.xml | 49 +++++++++++++
.../resources/language/Spanish/strings.xml | 49 +++++++++++++
.../resources/language/Swedish/strings.xml | 49 +++++++++++++
service.libraryautoupdate/resources/settings.xml | 70 +++++++++---------
service.libraryautoupdate/service.py | 54 +++++++++-----
22 files changed, 765 insertions(+), 141 deletions(-)
copy {script.xbmcbackup/resources => service.libraryautoupdate}/.gitignore
(100%)
copy {script.xbmcbackup => service.libraryautoupdate}/resources/.gitignore
(100%)
create mode 100644 service.libraryautoupdate/resources/language/English
(US)/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/Italian/strings.xml
create mode 100644
service.libraryautoupdate/resources/language/Lithuanian/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/Slovak/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
hooks/post-receive
--
Scripts
------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons