mncheck.py 652 B

12345678910111213141516171819202122232425262728
  1. '''
  2. @author: olivier.massot, 2018
  3. '''
  4. import importlib
  5. import logging
  6. import pkgutil
  7. logger = logging.getLogger("mncheck")
  8. def list_schemas():
  9. import schemas
  10. return [name for _, name, ispkg in pkgutil.iter_modules(schemas.__path__) if not (ispkg or name[0] == '_')]
  11. def get_schema(schema_name):
  12. return importlib.import_module("schemas." + schema_name)
  13. def validate(schema_name):
  14. try:
  15. schema = get_schema(schema_name)
  16. except ModuleNotFoundError:
  17. logger.critical(f"Le schéma {schema_name} n'existe pas")
  18. return
  19. results = schema.checker.run()
  20. return results