| 46 | |
| 47 | @dataclass |
| 48 | class Annotation_Update(): |
| 49 | session: Any |
| 50 | file: Any # Video or Image file. |
| 51 | instance_list_new: list = None # New from external |
| 52 | instance: object = None # New from external |
| 53 | instance_list_existing: list = None |
| 54 | instance_list_existing_dict: dict = field(default_factory = lambda: {}) |
| 55 | instance_list_kept_serialized: list = field(default_factory = lambda: []) |
| 56 | video_data: Optional[dict] = None |
| 57 | project: Project = None # Note project is Required for get_allowed_label_file_ids() |
| 58 | project_id: int = None # add project_id for avoiding dettached session on thread processing |
| 59 | task: Optional[Task] = None |
| 60 | complete_task: bool = False |
| 61 | gold_standard_file = None |
| 62 | external_auth: bool = False |
| 63 | do_update_sequences: bool = True |
| 64 | previous_next_instance_map: dict = field(default_factory = lambda: {}) |
| 65 | serialized_ids_map: dict = field(default_factory = lambda: {}) |
| 66 | creating_for_instance_template: bool = False |
| 67 | |
| 68 | # Keeps a Record of the new instances that were created after the update process finish |
| 69 | new_added_instances: list = field(default_factory = lambda: []) |
| 70 | |
| 71 | # Keeps a Record of the deleted instances after the update process finish |
| 72 | new_deleted_instances: list = field(default_factory = lambda: []) |
| 73 | # This array will keep track of any new instance relations that did not have instance IDs |
| 74 | new_instance_relations_list_no_ids: dict = field(default_factory = lambda: []) |
| 75 | |
| 76 | duplicate_hash_new_instance_list: list = field(default_factory = lambda: []) |
| 77 | system_upgrade_hash_changes: list = field(default_factory = lambda: []) |
| 78 | |
| 79 | directory = None |
| 80 | external_map: Optional[ExternalMap] = None |
| 81 | external_map_action: Optional[str] = None |
| 82 | new_instance_dict_hash: dict = field(default_factory = lambda: {}) # Keep a hash of all |
| 83 | do_create_new_file = False |
| 84 | set_parent_instance_list = False |
| 85 | new_file = None |
| 86 | frame_number = None |
| 87 | video_mode = False |
| 88 | is_new_file = False # defaults to False, ie for images? |
| 89 | video_parent_file = None |
| 90 | clean_instances: bool = False |
| 91 | force_lock: bool = True |
| 92 | sequence = None |
| 93 | new_created_sequence_list: list = field(default_factory = lambda: []) |
| 94 | allowed_model_run_id_list: list = None |
| 95 | allowed_model_id_list: list = None |
| 96 | added_sequence_ids: list = field(default_factory = lambda: []) |
| 97 | |
| 98 | count_instances_changed = 0 |
| 99 | |
| 100 | do_init_existing_instances: bool = True # Set to False to "add" only. |
| 101 | member: Any = None |
| 102 | |
| 103 | # TODO clarify this, |
| 104 | # Basically if an existing list is not supplied |
| 105 | # / not inited then this will just "add" instances |
no outgoing calls