Spaces:
Runtime error
Runtime error
| from importlib import import_module | |
| from types import ModuleType | |
| from PIL import Image | |
| import io | |
| def get_pipeline_class(pipeline_name: str) -> ModuleType: | |
| try: | |
| module = import_module(f"pipelines.{pipeline_name}") | |
| except ModuleNotFoundError: | |
| raise ValueError(f"Pipeline {pipeline_name} module not found") | |
| pipeline_class = getattr(module, "Pipeline", None) | |
| if pipeline_class is None: | |
| raise ValueError(f"'Pipeline' class not found in module '{pipeline_name}'.") | |
| return pipeline_class | |
| def bytes_to_pil(image_bytes: bytes) -> Image.Image: | |
| image = Image.open(io.BytesIO(image_bytes)) | |
| return image | |
| def pil_to_frame(image: Image.Image) -> bytes: | |
| frame_data = io.BytesIO() | |
| image.save(frame_data, format="JPEG") | |
| frame_data = frame_data.getvalue() | |
| return ( | |
| b"--frame\r\n" | |
| + b"Content-Type: image/jpeg\r\n" | |
| + f"Content-Length: {len(frame_data)}\r\n\r\n".encode() | |
| + frame_data | |
| + b"\r\n" | |
| ) | |
| def is_firefox(user_agent: str) -> bool: | |
| return "Firefox" in user_agent | |