1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- from typing import List
- from typing import Optional
- class LabelProvider:
- """
- label provider interface that should be implemented by label provider developers
- """
- def __init__(self, root_folder, configuration):
- """
- prepare everything needed to provide labels
- :param root_folder: relative path to label folder
- :param configuration: object parsed from configuration.json
- """
- raise NotImplementedError
- def close(self):
- """
- is called everytime a label provider is not used anymore
- :return:
- """
- raise NotImplementedError
- def get_labels(self) -> List[dict]:
- """
- return all available labels
- :return:
- """
- raise NotImplementedError
- @staticmethod
- def create_label(reference: str, name: str,
- parent_id: str = None, hierarchy_level: str = None):
- """
- create a label result
- :param reference: label reference
- :param name: label name
- :param parent_id: parent's identifier
- :param hierarchy_level: hierarchy level name
- :return:
- """
- return {
- 'name': name,
- 'reference': reference,
- 'parent_id': parent_id,
- 'hierarchy_level': hierarchy_level,
- }
|