File size: 839 Bytes
06ba7ea | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | import os
from pathlib import Path
from typing import Union
_MEDIA_EXTS_IMG = {".png", ".jpg", ".jpeg", ".gif", ".bmp", ".webp"}
_MEDIA_EXTS_VID = {".mp4", ".mov", ".avi", ".mkv", ".webm", ".m4v"}
def scan_media_dir(media_dir: Union[Path, str]) -> dict:
image_num, video_num = 0, 0
media_dir = Path(media_dir)
media_dir.mkdir(parents=True, exist_ok=True)
for path in media_dir.iterdir():
name = path.name
if name.startswith("."):
continue
if not path.is_file():
continue
ext = path.suffix.lower()
if ext in _MEDIA_EXTS_IMG:
image_num += 1
elif ext in _MEDIA_EXTS_VID:
video_num += 1
return {
"image number in user's media library": image_num,
"video number in user's media library": video_num,
}
|