with low / no disk space and be unable to "escape." In the event of a backlog,
the loop in birdnet_analysis.sh runs continuously, which means analyzed files
do not get moved, which means in turn extract_new_birdsounds.sh cannot create
mp3 extractions and move the processed files again, which would allow them to
be cleaned up by the cron jobs.
This patch is the obvious fix, i.e. to just limit the maximum amount of files
birdnet_analysis.sh can process to 20. This should be a good trade off given
the small overhead of listing files etc before the main loop begins - note that
for the "normal" case of no backlog, birdnet_analysis usually exits after a
single analysis anyway.
To avoid having to update file or directory paths in 3 script locations (PHP Common, Shell Common and Python File path resolver)
The .json file will references by all 3 systems, allowing them to generate paths from one central location. Files can be then moved around, the file updated and all 3 languages will up to date without any other work.
Quick test for the common.php directory and filepath resolver to ensure it's generating the correct paths
And small fix for incorrect firstrun.ini location (thanks test case :) )
Makes things a little tidier and easier to change in the future, a custom message can be passed to authenticateUser() and this is output if the authentication fails.
Added protection around Include and Exclude species pages as these still accessible & data can still be written to include and exclude species.txt even with a password.
Because saveSetting() checks each time to see that the user has authenticated, if the password is changed first then very next setting will cause a auth prompt (as the password changed) and if cancelled then the other setting won't save.
Putting it last will allow us to save all the other setting and then change the password, then the next attempt to execute a action or access a page that required auth will prompt the user the the password.