43 lines
1.1 KiB
Python
43 lines
1.1 KiB
Python
"""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,
|
|
)
|