|
50 | 50 | ) |
51 | 51 | from .data_transfer_object.dataset_info import DatasetInfo |
52 | 52 | from .data_transfer_object.dataset_size import DatasetSize |
| 53 | +from .data_transfer_object.scenes_list import ScenesList, ScenesListEntry |
53 | 54 | from .dataset_item import ( |
54 | 55 | DatasetItem, |
55 | 56 | check_all_paths_remote, |
@@ -186,13 +187,14 @@ def items(self) -> List[DatasetItem]: |
186 | 187 | return constructed_dataset_items |
187 | 188 |
|
188 | 189 | @property |
189 | | - def scenes(self) -> List[Dict[str, Any]]: |
| 190 | + def scenes(self) -> List[ScenesListEntry]: |
190 | 191 | """List of ID, reference ID, type, and metadata for all scenes in the Dataset.""" |
191 | 192 | response = self._client.make_request( |
192 | 193 | {}, f"dataset/{self.id}/scenes_list", requests.get |
193 | 194 | ) |
194 | 195 |
|
195 | | - return response.get("scenes", None) |
| 196 | + scenes_list = ScenesList.parse_obj(response) |
| 197 | + return scenes_list.scenes |
196 | 198 |
|
197 | 199 | @sanitize_string_args |
198 | 200 | def autotag_items(self, autotag_name, for_scores_greater_than=0): |
@@ -738,6 +740,18 @@ def delete_item(self, reference_id: str) -> dict: |
738 | 740 | requests.delete, |
739 | 741 | ) |
740 | 742 |
|
| 743 | + @sanitize_string_args |
| 744 | + def delete_scene(self, reference_id: str): |
| 745 | + """Deletes a Scene associated with the Dataset |
| 746 | +
|
| 747 | + All items, annotations and predictions associated with the scene will be |
| 748 | + deleted as well. |
| 749 | +
|
| 750 | + Parameters: |
| 751 | + reference_id: The user-defined reference ID of the item to delete. |
| 752 | + """ |
| 753 | + self._client.delete(f"dataset/{self.id}/scene/{reference_id}") |
| 754 | + |
741 | 755 | def list_autotags(self): |
742 | 756 | """Fetches all autotags of the dataset. |
743 | 757 |
|
|
0 commit comments