# https://github.com/ucloud/ufile-sdk-python
import logging

from ufile import filemanager

from config.ucloud import PUBLIC_KEY, PRIVATE_KEY, UPLOAD_SUFFIX, DOWNLOAD_SUFFIX, BUCKET


def get_private_url(key):
    get_ufile_handler = filemanager.FileManager(PUBLIC_KEY, PRIVATE_KEY, UPLOAD_SUFFIX, DOWNLOAD_SUFFIX)

    # 判断文件是否存在
    _, resp = get_ufile_handler.head_file(BUCKET, key)
    if resp.status_code != 200:
        logging.warning("uCloud中未找到(%s)! status: %d error: %s", key, resp.status_code, resp.error)
        return None

    # 获取公有空间下载url
    # url = get_ufile_handler.public_download_url(bucket, key)

    # 获取私有空间下载url, expires为下载链接有效期，单位为秒
    url = get_ufile_handler.private_download_url(BUCKET, key, expires=3600)
    return url
