ImageResizer / image_resizer /processor.py
Laxmikant Nirmohi
use packages approach to intall selenium on huggingface
18399c7
Raw
History Blame Contribute Delete
1.14 kB
"""High-level image processing entry points (no UI dependencies)."""
from __future__ import annotations
import os
import shutil
import tempfile
from image_resizer.models import ImageItem, ProcessResult
from image_resizer.pipeline import process_and_zip
def process_uploaded_images(
files,
fmt: str,
w: int,
h: int,
use_default: bool = False,
) -> ProcessResult:
"""Copy uploaded files to a temp dir and process them."""
tmp = tempfile.mkdtemp()
data: list[ImageItem] = []
for f in files:
src = str(f)
dst = os.path.join(tmp, os.path.basename(src))
shutil.copyfile(src, dst)
data.append({
"url": dst,
"name": os.path.splitext(os.path.basename(dst))[0],
})
return process_and_zip(data, fmt, w, h, use_default=use_default)
def process_single_url_image(
url: str,
fmt: str,
w: int,
h: int,
use_default: bool = False,
) -> ProcessResult:
"""Process a single image URL."""
if not url.strip():
return ProcessResult([], None, "No URL provided", None)
return process_and_zip(
[{"url": url.strip(), "name": "single"}],
fmt, w, h,
use_default=use_default,
)