Really like this add-on. Thank you for your hard work on it! Have run into a couple issues on version 0.9.8 that thought you should be aware of.
1) Cleaning - Can't seem to set cron schedule on cleaning via the GUI. Whenever I navigate to the cleaning tab in the settings and select "Cron Expression" for the cleaning frequency the 'Video Cron Expression' and 'Music Cron Expression' fields are displayed but are not enabled (grayed out). I've attempted different library to clean combinations and can't seem to enable it. I've noted this behavior on both an OpenElec (latest build) as well as my Windows (16B4) systems. Manually setting the cron via the settings.xml file works fine. Just would be nice to not have to manually edit the file.
2) Cron Syntax - Using the GUI I attempted to set the Video library to update ever 30 minutes starting at 10 minutes after the hour. For this I chose to use a step value entry (10/30). Entering the expression into the GUI is quick and easy. Unfortunately upon restarting Kodi the add-on fails throwing an exception error. See sample error log and settings xml below. From my tests it looks like the error is only encountered when attempting to use a step value so I'd say it is the '/' that is causing the exception.
NOTE: For newbies like me, a great site for checking the cron syntax is;
http://crontab.guru/
NOTE: With your add-on I've been able to set up a window to update my libraries at a desired interval and then outside of the update window set cleaning to the time of my choosing in a configuration that I can easily transfer from system to system (Linux or Windows). Thanks again!
EXCEPTION ERROR FROM LOG
------------------------------------------------------------------------------------------------------------------------------
15:18:38 T:9920 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.KeyError'>
Error Contents: ('10/30',)
Traceback (most recent call last):
File "C:\Users\XXXXXX\AppData\Roaming\Kodi\addons\service.libraryautoupdate\default.py", line 6, in <module>
AutoUpdater().runProgram()
File "C:\Users\XXXXXX\AppData\Roaming\Kodi\addons\service.libraryautoupdate\service.py", line 35, in __init__
self.createSchedules(True)
File "C:\Users\XXXXXX\AppData\Roaming\Kodi\addons\service.libraryautoupdate\service.py", line 162, in createSchedules
aSchedule.next_run = self.calcNextRun(aSchedule.expression,self.last_run)
File "C:\Users\XXXXXX\AppData\Roaming\Kodi\addons\service.libraryautoupdate\service.py", line 231, in calcNextRun
cron = croniter(cronExp,startTime)
File "D:\Users\XXXXXX\AppData\Roaming\Kodi\addons\service.libraryautoupdate\resources\lib\croniter.py", line 93, in __init__
t = self.ALPHACONV[i][t.lower()]
KeyError: ('10/15',)
-->End of Python script error report<--
SAMPLE SETTINGS.XML
------------------------------------------------------------------------------------------------------------------------------
<settings>
<setting id="clean_libraries" value="true" />
<setting id="clean_music_cron_expression" value="0 4 * * *" />
<setting id="clean_timer" value="1" />
<setting id="clean_video_cron_expression" value="0 2 * * *" />
<setting id="custom_1_advanced_timer" value="false" />
<setting id="custom_1_cron_expression" value="0 * * * *" />
<setting id="custom_1_scan_path" value="" />
<setting id="custom_1_timer" value="0" />
<setting id="custom_2_advanced_timer" value="false" />
<setting id="custom_2_cron_expression" value="0 * * * *" />
<setting id="custom_2_scan_path" value="" />
<setting id="custom_2_timer" value="2" />
<setting id="custom_3_advanced_timer" value="false" />
<setting id="custom_3_cron_expression" value="0 * * * *" />
<setting id="custom_3_scan_path" value="" />
<setting id="custom_3_timer" value="2" />
<setting id="disable_manual_prompt" value="false" />
<setting id="help_button" value="" />
<setting id="library_to_clean" value="1" />
<setting id="music_advanced_timer" value="false" />
<setting id="music_cron_expression" value="0 * * * *" />
<setting id="music_timer" value="2" />
<setting id="notify_next_run" value="false" />
<setting id="run_during_playback" value="false" />
<setting id="run_on_idle" value="true" />
<setting id="startup_delay" value="0" />
<setting id="update_music" value="false" />
<setting id="update_video" value="true" />
<setting id="use_custom_1_path" value="false" />
<setting id="use_custom_2_path" value="false" />
<setting id="use_custom_3_path" value="false" />
<setting id="user_confirm_clean" value="false" />
<setting id="video_advanced_timer" value="true" />
<setting id="video_cron_expression" value="10/30 0-1,5-23 * * *" />
<setting id="video_timer" value="0" />
</settings>