4. Cache the information. Use a make like system where you compare the
timestamp of the script file with the cached data. This doesn't solve
the error bit but it saves you the loading of the interpreter.
I also like #4. We could keep the get_info function for scripts as it is
at the moment, and just call it if the hash of the script object has
changed (we could easily use the exisiting hashtable system of opensync
for this). The only difference would be that the first time the script
is installed (or altered), the plugin-listing would be slower.
If we provide a utility for rebuilding the cache, it can be run by the
installer script for the plugin, so we can avoid the slowdown on the first
time. And we may make running this script recommended, but not required,
because we will validate the cache when loading the scripts, anyway.
yes. thats a very good idea!
the tool would be very simple to write. The only parameter it would need
is the filename of the script plugin. It would the initialize its
OSyncEnv with LOAD_PLUGINS = FALSE and load the given plugin using
osync_module_load. that would work for both sync plugins and format plugins.
so... what shall it be? 3 or 4?