cerebralcortex.core.data_manager.object package

Submodules

cerebralcortex.core.data_manager.object.data module

class ObjectData(CC)[source]

Bases: cerebralcortex.core.data_manager.object.storage_filesystem.FileSystemStorage

cerebralcortex.core.data_manager.object.storage_filesystem module

class FileSystemStorage[source]

Bases: object

create_bucket(bucket_name: str) → bool[source]

creates a bucket aka folder in object storage system.

Parameters:bucket_name (str) – name of the bucket
Returns:True if bucket was successfully created. On failure, returns an error with dict {“error”:”error-message”}
Return type:bool
Raises:ValueError – Bucket name cannot be empty/None.

Examples

>>> CC = CerebralCortex("/directory/path/of/configs/")
>>> CC.create_bucket("live_data_folder")
>>> True
get_bucket_objects(bucket_name: str) → dict[source]

returns a list of all objects stored in the specified Minio bucket

Parameters:bucket_name (str) – name of the bucket aka folder
Returns:{bucket-objects: [{“object_name”:”“, “metadata”: {}}…], in case of an error {“error”: str}
Return type:dict
get_buckets() → dict[source]

returns all available buckets in an object storage

Returns:{bucket-name: str, [{“key”:”value”}]}, in case of an error {“error”: str}
Return type:dict
get_object(bucket_name: str, object_name: str) → dict[source]

Returns stored object (HttpResponse) :param bucket_name: :param object_name: :return: object (HttpResponse), in case of an error {“error”: str}

Parameters:
  • bucket_name (str) – name of a bucket aka folder
  • object_name (str) – name of an object that needs to be downloaded
Returns:

object that needs to be downloaded. If file does not exists then it returns an error {“error”: “File does not exist.”}

Return type:

file-object

Raises:
  • ValueError – Missing bucket_name and object_name params.
  • Exception – {“error”: “error-message”}
get_object_stats(bucket_name: str, object_name: str) → dict[source]

Returns properties (e.g., object type, last modified etc.) of an object stored in a specified bucket

Parameters:
  • bucket_name (str) – name of a bucket aka folder
  • object_name (str) – name of an object
Returns:

information of an object (e.g., creation_date, object_size etc.). In case of an error {“error”: str}

Return type:

dict

Raises:
  • ValueError – Missing bucket_name and object_name params.
  • Exception – {“error”: “error-message”}
is_bucket(bucket_name: str) → bool[source]

checks whether a bucket exist :param bucket_name: name of the bucket aka folder :type bucket_name: str

Returns:True if bucket exist or False otherwise. In case an error {“error”: str}
Return type:bool
Raises:ValueError – bucket_name cannot be None or empty.
is_object(bucket_name: str, object_name: str) → dict[source]

checks whether an object exist in a bucket :param bucket_name: name of the bucket aka folder :type bucket_name: str :param object_name: name of the object :type object_name: str

Returns:True if object exist or False otherwise. In case an error {“error”: str}
Return type:bool
Raises:Excecption – if bucket_name and object_name are empty or None
upload_object(bucket_name: str, object_name: str, object_filepath: str) → bool[source]

Upload an object in a bucket aka folder of object storage system.

Parameters:
  • bucket_name (str) – name of the bucket
  • object_name (str) – name of the object to be uploaded
  • object_filepath (str) – it shall contain full path of a file with file name (e.g., /home/nasir/obj.zip)
Returns:

True if object successfully uploaded. On failure, returns an error with dict {“error”:”error-message”}

Return type:

bool

Raises:

ValueError – Bucket name cannot be empty/None.

cerebralcortex.core.data_manager.object.storage_minio module

class MinioHandler[source]

Bases: object

Todo

For now, Minio is disabled as CC config doesn’t provide an option to use mutliple object-storage

create_bucket(bucket_name: str) → bool[source]

creates a bucket aka folder in object storage system.

Parameters:bucket_name (str) – name of the bucket
Returns:True if bucket was successfully created. On failure, returns an error with dict {“error”:”error-message”}
Return type:bool
Raises:ValueError – Bucket name cannot be empty/None.

Examples

>>> CC = CerebralCortex("/directory/path/of/configs/")
>>> CC.create_bucket("live_data_folder")
>>> True
get_bucket_objects(bucket_name: str) → dict[source]

returns a list of all objects stored in the specified Minio bucket

Parameters:bucket_name (str) – name of the bucket aka folder
Returns:{bucket-objects: [{“object_name”:”“, “metadata”: {}}…], in case of an error {“error”: str}
Return type:dict
get_buckets() → List[source]

returns all available buckets in an object storage

Returns:{bucket-name: str, [{“key”:”value”}]}, in case of an error {“error”: str}
Return type:dict
get_object(bucket_name: str, object_name: str) → dict[source]

Returns stored object (HttpResponse) :param bucket_name: :param object_name: :return: object (HttpResponse), in case of an error {“error”: str}

Parameters:
  • bucket_name (str) – name of a bucket aka folder
  • object_name (str) – name of an object that needs to be downloaded
Returns:

object that needs to be downloaded. If file does not exists then it returns an error {“error”: “File does not exist.”}

Return type:

file-object

Raises:
  • ValueError – Missing bucket_name and object_name params.
  • Exception – {“error”: “error-message”}
get_object_stats(bucket_name: str, object_name: str) → dict[source]

Returns properties (e.g., object type, last modified etc.) of an object stored in a specified bucket

Parameters:
  • bucket_name (str) – name of a bucket aka folder
  • object_name (str) – name of an object
Returns:

information of an object (e.g., creation_date, object_size etc.). In case of an error {“error”: str}

Return type:

dict

Raises:
  • ValueError – Missing bucket_name and object_name params.
  • Exception – {“error”: “error-message”}
is_bucket(bucket_name: str) → bool[source]

checks whether a bucket exist :param bucket_name: name of the bucket aka folder :type bucket_name: str

Returns:True if bucket exist or False otherwise. In case an error {“error”: str}
Return type:bool
Raises:ValueError – bucket_name cannot be None or empty.
is_object(bucket_name: str, object_name: str) → dict[source]

checks whether an object exist in a bucket :param bucket_name: name of the bucket aka folder :type bucket_name: str :param object_name: name of the object :type object_name: str

Returns:True if object exist or False otherwise. In case an error {“error”: str}
Return type:bool
Raises:Excecption – if bucket_name and object_name are empty or None
upload_object(bucket_name: str, object_name: str, object_filepath: object) → bool[source]

Upload an object in a bucket aka folder of object storage system.

Parameters:
  • bucket_name (str) – name of the bucket
  • object_name (str) – name of the object to be uploaded
  • object_filepath (str) – it shall contain full path of a file with file name (e.g., /home/nasir/obj.zip)
Returns:

True if object successfully uploaded. On failure, returns an error with dict {“error”:”error-message”}

Return type:

bool

Raises:
  • ValueError – Bucket name cannot be empty/None.
  • Exception – if upload fails
upload_object_to_s3(bucket_name: str, object_name: str, file_data: object, obj_length: int) → bool[source]

Upload an object in a bucket aka folder of object storage system.

Parameters:
  • bucket_name (str) – name of the bucket
  • object_name (str) – name of the object to be uploaded
  • file_data (object) – object of a file
  • obj_length (int) – size of an object
Returns:

True if object successfully uploaded. On failure, throws an exception

Return type:

bool

Raises:

Exception – if upload fails

Module contents