35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
from pyinfra.exceptions import DataLoadingFailure
|
|
from pyinfra.storage.adapters.adapter import StorageAdapter
|
|
|
|
|
|
class Storage:
|
|
def __init__(self, adapter: StorageAdapter):
|
|
self.__adapter = adapter
|
|
|
|
def make_bucket(self, bucket_name):
|
|
self.__adapter.make_bucket(bucket_name)
|
|
|
|
def has_bucket(self, bucket_name):
|
|
return self.__adapter.has_bucket(bucket_name)
|
|
|
|
def put_object(self, bucket_name, object_name, data):
|
|
self.__adapter.put_object(bucket_name, object_name, data)
|
|
|
|
def get_object(self, bucket_name, object_name):
|
|
return self.__get_object(bucket_name, object_name)
|
|
|
|
def __get_object(self, bucket_name, object_name):
|
|
try:
|
|
return self.__adapter.get_object(bucket_name, object_name)
|
|
except Exception as err:
|
|
raise DataLoadingFailure from err
|
|
|
|
def get_all_objects(self, bucket_name):
|
|
return self.__adapter.get_all_objects(bucket_name)
|
|
|
|
def clear_bucket(self, bucket_name):
|
|
return self.__adapter.clear_bucket(bucket_name)
|
|
|
|
def get_all_object_names(self, bucket_name):
|
|
return self.__adapter.get_all_object_names(bucket_name)
|