"""Script to move minio images to subfolder.""" import os from pathlib import Path from dotenv import load_dotenv from PIL import Image from shared.datastore import Datastore from shared.utils import setup_logging if __name__ == '__main__': # load in env file env_path = Path(__file__).parent.parent / 'server.env' assert env_path.exists() load_dotenv(env_path) # setup logging setup_logging() # connect to minio datastore = Datastore() datastore.connect() assert datastore._client is not None # list images in bucket BUCKET_NAME = os.getenv( 'MINIO_BUCKET_NAME', default='visual-critical-discourse-analysis', ) obj_list = datastore._client.list_objects( bucket_name=BUCKET_NAME, ) # begin moving images for obj in obj_list: # get image from minio buffer = datastore._get( object_name=obj.object_name, ) # convert data to image image = Image.open(buffer) # put image into minio subfolder _ = datastore.put_image( image=image, )