import sys
from minio import Minio
from minio.error import S3Error
sys.path.append('./')
from build_script.params import *

minio_bucket_name = 'devplatform'

# 初始化MinIO客户端
minio_client = Minio(minio_endpoint,
                     access_key=minio_access_key,
                     secret_key=minio_secret_key,
                     secure=False)  # 如果你使用HTTPS，请将secure设置为True


def upload_file(file_path, object_name, targetFolder):
    try:
        name = targetFolder + '/' + object_name
        minio_client.fput_object(minio_bucket_name, name, file_path)
        currentUrl = 'http://minio-sit.sunda.top/devplatform/' + name
        return currentUrl
    except S3Error as e:
        return None


if __name__ == "__main__":
    # 从命令行参数获取文件路径
    if len(sys.argv) != 4:
        print("Usage: python script.py <文件路径> <对象名称>")
        sys.exit(1)

    file_path = sys.argv[1]
    object_name = sys.argv[2]
    targetFolder = sys.argv[3]

    # 上传文件并获取预签名URL
    presigned_url = upload_file(file_path, object_name, targetFolder)
    print(presigned_url)
