import datetime
import shortuuid
import imghdr


def get_unique_str(old_name: str, file_ext: str , extra_value : str = "") -> str:
    # return '{}-{}'.format(shortuuid.uuid(),   datetime.datetime.utcnow().strftime('%m%d%H%M%S%f'))
    # print("file_ext before:", file_ext)
    # print("old_name before:", old_name)
    if file_ext != ".PNG" or file_ext != ".png":
        # print("change---")
        old_name = old_name.replace(file_ext, extra_value+".png")
    # print("old_name after:", old_name)

    return '{}-{}-{}'.format(shortuuid.uuid(), datetime.datetime.now().microsecond, old_name)


def validate_image(stream):
    header = stream.read(512)  # 512 bytes should be enough for a header check
    stream.seek(0)  # reset stream pointer
    format = imghdr.what(None, header)
    print("format", format)
    if not format:
        return None
    # return '.' + (format if format != 'jpeg' else 'jpg')
    return '.' + format
