No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

utils.py 895B

12345678910111213141516171819202122232425262728
  1. #
  2. # Importing this file trigger dynamic code generation & load
  3. #
  4. # To use dynamic code import utils.dyncode_module as dyncode
  5. import tempfile
  6. import os
  7. from importlib.machinery import SourceFileLoader
  8. from lodel.leapi.lefactory import dyncode_from_em
  9. from lodel.editorial_model.translator import picklefile
  10. from tests import loader_utils
  11. def init_dyncode():
  12. f_handler, dyncode_file = tempfile.mkstemp( prefix="lodel2_tests",
  13. suffix="_dyncode")
  14. os.close(f_handler)
  15. model = picklefile.load('tests/editorial_model.pickle')
  16. source_code = dyncode_from_em(model)
  17. with os.fdopen(os.open(dyncode_file, os.O_WRONLY), 'w') as dynfd:
  18. dynfd.write(source_code)
  19. dyncode_module = SourceFileLoader("lodel.dyncode", dyncode_file).load_module()
  20. os.unlink(dyncode_file)
  21. return dyncode_module
  22. dyncode_module = init_dyncode()