6
0

LabelProvider.py 815 B

123456789101112131415161718192021222324252627282930313233343536
  1. import typing
  2. class LabelProvider:
  3. def __init__(self, root_folder, configuration):
  4. """
  5. prepare everything needed to provide labels
  6. :param root_folder: relative path to label folder
  7. :param configuration: object parsed from configuration.json
  8. """
  9. raise NotImplementedError
  10. def close(self):
  11. """
  12. is called everytime a label provider is not used anymore
  13. :return:
  14. """
  15. raise NotImplementedError
  16. def get_labels(self) -> typing.List[dict]:
  17. """
  18. return all available labels
  19. :return:
  20. """
  21. raise NotImplementedError
  22. # TODO documentation
  23. @staticmethod
  24. def create_label(identifier, name):
  25. return {
  26. 'id': identifier,
  27. 'name': name
  28. }