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.

reference.py 1.2KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. # -*- coding: utf-8 -*-
  2. from lodel.leapi.datahandlers.field_data_handler import FieldDataHandler
  3. from lodel.editorial_model.components import EmClass
  4. class Reference(FieldDataHandler):
  5. ## @brief Instanciation
  6. # @param allowed list
  7. # @param internal bool : if False, the field is not internal
  8. # @param **kwargs : other arguments
  9. def __init__(self, allowed=[], internal=False, **kwargs):
  10. self.allowed = allowed
  11. self.internal = internal
  12. '''
  13. if not self.is_ref_valid():
  14. raise ValueError("The target of the reference is not valid")
  15. '''
  16. super().__init__(internal=self.internal, **kwargs)
  17. ## @brief gets the target of the reference
  18. def get_relateds(self):
  19. return self._refs
  20. ## @brief checks if the target is valid
  21. '''
  22. def is_ref_valid(self):
  23. relateds = self.get_relateds()
  24. if not isinstance(relateds, self._refs_class):
  25. return False
  26. if isinstance(relateds, EmClass):
  27. relateds = [relateds]
  28. for related in relateds:
  29. if not isinstance(related, EmClass):
  30. return False
  31. return True
  32. '''