| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- import base64
- import os
- import shutil
- import uuid
- def get_ext(filename: str) -> str:
- if not filename:
- return ""
- pos = filename.rfind(".")
- return filename[pos + 1:] if pos > -1 else ""
- def get_short_filename(filename: str) -> str:
- if not filename:
- return ""
- return os.path.basename(filename)
- def remove_ext(filename: str) -> str:
- if not filename:
- return filename
- pos = filename.rfind(".")
- return filename[:pos] if pos > -1 else filename
- def is_image(filename: str) -> bool:
- return get_ext(filename).lower() in ("jpg", "jpeg", "png", "bmp")
- def is_video(filename: str) -> bool:
- return get_ext(filename).lower() in ("mp4", "mov")
- def generate_unique_filename(original: str) -> str:
- if not original:
- return str(uuid.uuid4())
- pos = original.rfind(".")
- if pos >= 0:
- ext = original[pos:]
- return str(uuid.uuid4()) + ext
- return str(uuid.uuid4())
- def base64_content(filepath: str) -> str:
- with open(filepath, "rb") as f:
- return base64.b64encode(f.read()).decode("utf-8")
- def base64_to_file(content: str, filepath: str):
- os.makedirs(os.path.dirname(filepath), exist_ok=True)
- with open(filepath, "wb") as f:
- f.write(base64.b64decode(content))
- def copy_file(src: str, dst: str):
- os.makedirs(os.path.dirname(dst), exist_ok=True)
- shutil.copy2(src, dst)
- def copy_directory(src: str, dst: str):
- if os.path.exists(dst):
- shutil.rmtree(dst)
- shutil.copytree(src, dst)
- def delete_directory(path: str):
- if os.path.isdir(path):
- shutil.rmtree(path, ignore_errors=True)
- def move_file(src: str, dst: str):
- os.makedirs(os.path.dirname(dst), exist_ok=True)
- shutil.move(src, dst)
- def force_mkdir(path: str):
- os.makedirs(path, exist_ok=True)
- def write_bytes(filepath: str, data: bytes):
- os.makedirs(os.path.dirname(filepath), exist_ok=True)
- with open(filepath, "wb") as f:
- f.write(data)
|