Fixing multisite loading process & dyncode bootstrapping
- a "normal" import was left in lefactory_common
- the hook triggering datasources init in dyncode was not called
- dyncode was not exposed in the loader (making hook call useless : the hook has to be called once the dyncode has been "seen" (imported) by python)
- found a way to make it implements the socketserver.ForkinTCPServer features reducing the global code size (and removed a lot of dirty copy & paste from cpython sources)
- deleted useless imports
Added a new reserved context name for loading steps
- the reserved context is create and set at init time by the LodelContext.init method
- allows to use lodel libs will loading
- no special features implemented yet
The server is listening, fork on new request, and then loads the context from URL.
Now we have to call properly the webui plugin in order to answer the request
- Replaced some "hidden" import with LodelContext.expose_modules calls
- in some functions of Setting, Plugin, validator
- in loader.py (temporary version)
In this state the tests runs (151 success), I'm able to run an instance (from debian package using slim) in MONOSITE mode and in MULTISITE mode by creating and loading a context in the loader.
Replaced imports by LodelContext.expose_modules() calls
Theorically all of those imports were tested by unit testing, but we've got no inssurance about that.
And even if unit tests had check for syntax errors, all pieces of code were not tested. We cannot
be sure that an import was missed or forgotten...