def __upload_cvat_images(self, images_paths: List[Path], dataset_name: str,
                             max_workers: int) -> Tuple[str, Dict[str, str]]:
        """
        This function does not create any image groups yet.
        Returns:
            * The created dataset_hash
            * A map from an image title to the image hash which is stored in the DB.
        """

        short_names = list(map(lambda x: x.name, images_paths))
        file_path_strings = list(map(lambda x: str(x), images_paths))
        dataset = self.create_dataset(dataset_name,
                                      StorageLocation.CORD_STORAGE)

        dataset_hash = dataset.dataset_hash

        dataset_api_key: DatasetAPIKey = self.create_dataset_api_key(
            dataset_hash, dataset_name + " - Full Access API Key",
            [DatasetScope.READ, DatasetScope.WRITE])

        client = EncordClient.initialise(
            dataset_hash,
            dataset_api_key.api_key,
            domain=self.user_config.domain,
        )

        signed_urls = client._querier.basic_getter(SignedImagesURL,
                                                   uid=short_names)
        upload_to_signed_url_list(file_path_strings, signed_urls,
                                  client._querier, Image, max_workers)

        image_title_to_image_hash_map = dict(
            map(lambda x: (x.title, x.data_hash), signed_urls))

        return dataset_hash, image_title_to_image_hash_map
 def get_dataset_client(
         self, dataset_hash: str,
         **kwargs) -> Union[EncordClientProject, EncordClientDataset]:
     dataset_api_key: DatasetAPIKey = self.get_or_create_dataset_api_key(
         dataset_hash)
     return EncordClient.initialise(dataset_hash, dataset_api_key.api_key,
                                    **kwargs)
 def test_2(self):
     with self.assertRaises(AuthenticationError) as excinfo:
         EncordClient.initialise(api_key=LABEL_READ_WRITE_KEY)
     self.assertEqual("Project ID or dataset ID not provided",
                      str(excinfo.exception))
 def test_1(self):
     with self.assertRaises(AuthenticationError) as excinfo:
         EncordClient.initialise(PROJECT_ID)
     self.assertEqual("API key not provided", str(excinfo.exception))
 def setUpClass(cls):
     super(UnitTests, cls).setUpClass()
     cls.read_c = EncordClient.initialise(PROJECT_ID, LABEL_READ_KEY)
     cls.write_c = EncordClient.initialise(PROJECT_ID, LABEL_WRITE_KEY)
     cls.rw_c = EncordClient.initialise(PROJECT_ID, LABEL_READ_WRITE_KEY)
     cls.dt_c = EncordClient.initialise(DATASET_ID, DATASET_KEY)
def test_get_label_with_write_key_throws_operation_not_allowed_exception(keys):
    client = EncordClient.initialise(keys[0], LABEL_WRITE_KEY)

    with pytest.raises(
            expected_exception=encord.exceptions.OperationNotAllowed):
        client.get_label_row(keys[2])
def test_invalid_resource_id(keys):
    with pytest.raises(
            expected_exception=encord.exceptions.AuthenticationError):
        EncordClient.initialise(uuid.uuid4(), keys[1])
def test_invalid_key(keys):
    with pytest.raises(
            expected_exception=encord.exceptions.AuthenticationError):
        EncordClient.initialise(keys[0], uuid.uuid4())
 def get_project_client(
         self, project_hash: str,
         **kwargs) -> Union[EncordClientProject, EncordClientDataset]:
     project_api_key: str = self.get_or_create_project_api_key(project_hash)
     return EncordClient.initialise(project_hash, project_api_key, **kwargs)
def test_missing_key(keys):
    with pytest.raises(expected_exception=encord.exceptions.AuthenticationError
                       ) as excinfo:
        EncordClient.initialise(resource_id=keys[0])

    assert excinfo.value.message == "API key not provided"
def test_initialise_with_config(keys):
    config = EncordConfig(resource_id=keys[0], api_key=keys[1])
    assert isinstance(EncordClient.initialise_with_config(config),
                      EncordClient)
def test_initialise(keys):
    assert isinstance(
        EncordClient.initialise(resource_id=keys[0], api_key=keys[1]),
        EncordClient)
def client(keys):
    return EncordClient.initialise(resource_id=keys[0], api_key=keys[1])
def test_object_interpolation_with_polygons(keys):
    client = EncordClient.initialise(keys[0], LABEL_READ_KEY)
    objects = client.object_interpolation(
        INTERPOLATION_TEST_BLURB, ["60f75ddb-aa68-4654-8c85-f6959dbb62eb"])
    assert isinstance(objects, dict)
def test_save_label_with_read_key_throws_operation_not_allowed_exception(keys):
    client = EncordClient.initialise(keys[0], LABEL_READ_KEY)

    with pytest.raises(
            expected_exception=encord.exceptions.OperationNotAllowed):
        client.save_label_row(keys[2], TEST_BLURB)
 def test_3(self):
     with self.assertRaises(AuthenticationError):
         client = EncordClient.initialise(PROJECT_ID, uuid.uuid4())
 def test_4(self):
     with self.assertRaises(AuthenticationError):
         client = EncordClient.initialise(uuid.uuid4(),
                                          LABEL_READ_WRITE_KEY)
def test_missing_resource_id(keys):
    with pytest.raises(expected_exception=encord.exceptions.AuthenticationError
                       ) as excinfo:
        EncordClient.initialise(api_key=keys[1])

    assert excinfo.value.message == "Project ID or dataset ID not provided"