diff --git a/hasty/image.py b/hasty/image.py index 59649fc..e6c1fb5 100644 --- a/hasty/image.py +++ b/hasty/image.py @@ -16,7 +16,7 @@ class Image(HastyObject): endpoint = '/v1/projects/{project_id}/images' - endpoint_uploads = '/v1/projects/{project_id}/image_uploads' + endpoint_uploads = '/v1/projects/{project_id}/uploads' endpoint_image = '/v1/projects/{project_id}/images/{image_id}' def __repr__(self): @@ -133,7 +133,7 @@ def _get_by_id(requester, project_id, image_id): @staticmethod def _generate_sign_url(requester, project_id): - data = requester.post(Image.endpoint_uploads.format(project_id=project_id), json_data={"count": 1}) + data = requester.get(Image.endpoint_uploads.format(project_id=project_id), query_params={"count": 1}) return data["items"][0] @staticmethod @@ -141,7 +141,7 @@ def _upload_from_file(requester, project_id, dataset_id, filepath, external_id: filename = os.path.basename(filepath) url_data = Image._generate_sign_url(requester, project_id) with open(filepath, 'rb') as f: - requester.put(url_data['url'], data=f.read(), content_type="image/*") + requester.put(url_data['url'], data=f.read(), content_type="") res = requester.post(Image.endpoint.format(project_id=project_id), json_data={"dataset_id": dataset_id, "filename": filename, @@ -171,7 +171,7 @@ def get_labels(self): obj_params={"project_id": self.project_id}) def create_label(self, label_class: Union[LabelClass, str], bbox: List[int] = None, polygon: List[List[int]] = None, - mask: List[int] = None, z_index: int = None, external_id: Optional[str] = None): + mask: List[int] = None, z_index: int = 0, external_id: Optional[str] = None): """ Create label diff --git a/tests/test_tag.py b/tests/test_tag.py index 62d9ebc..d337a88 100644 --- a/tests/test_tag.py +++ b/tests/test_tag.py @@ -57,14 +57,25 @@ def test_tag(self): self.assertEqual(2, len(tags), 'Should be two tag class assigned') # Assign same classes self.image.add_tags([tc1, tc2]) - tags = self.image.get_tags() - self.assertEqual(2, len(tags), 'Still should be two tag class assigned') + original_tags = self.image.get_tags() + self.assertEqual(2, len(original_tags), 'Still should be two tag class assigned') # Delete one tag - self.image.delete_tags([tags[0]]) + self.image.delete_tags([original_tags[0]]) + tags = self.image.get_tags() + self.assertEqual(1, len(tags), 'Should be one tag class assigned') + # Delete another tag by tag_class + self.image.delete_tags([tc1, tc2]) + tags = self.image.get_tags() + self.assertEqual(0, len(tags), 'Should not be any tags assigned') + # Assign same classes + tags = self.image.add_tags([tc1, tc2]) + self.assertEqual(2, len(tags), 'Should be two tag class assigned') + # Delete via object: tag_class_id + self.image.delete_tags([{"tag_class_id": tc1.id}]) tags = self.image.get_tags() self.assertEqual(1, len(tags), 'Should be one tag class assigned') - # Delete another one tag - self.image.delete_tags([{"tag_id": tags[0].id}]) + # Delete via object: tag_id + self.image.delete_tags([{"tag_id": tag.id} for tag in tags]) tags = self.image.get_tags() self.assertEqual(0, len(tags), 'Should not be any tags assigned')