Survol library is made of packages and subpackages which represents its classes model. Adding classes, namespaces or scripts is done by addng files or file trees in this hierarchy.
A class is a module where the function EntityOntology() is present, whether it is defined by the module or one of its parents modules. The return value of EntityOntology() is a list of string, each representing an attribute of the class. If a module nor none of its parent modules define the function EntityOntology(), it is a namespace. Classes which are also defined in CIM must follow the same attributes conventions.
Namespaces have a different meaning in Survol and CIM. For Survol, it is just a Python module which does not define a class for Survol. For CIM, it is another entity. CIM namespaces are not taken into account, which is not a problem because all classes shared by CIM and Survol are in the "root/CimV2" namespace.
To add a new class, or new scripts, to Survol, one just need to copy a file tree at the right place in this source tree. Class-specific functions are inherited. New packages, if invalid for any reason, are simply not taken into account, and their dependencies disabled. The error message, and the reason for disabling a script, can be displayed by ticking the checkbox "View all scripts".
Survol home page | Generated by 1.8.11 |