From 39ab95d87e81f38eff478b1538a1b0287d581127 Mon Sep 17 00:00:00 2001 From: Keigh Rim Date: Wed, 11 Mar 2026 16:52:44 -0400 Subject: [PATCH] fix as_PIL option in extract_frames_as_images (#376) Replace importlib.__import__ with importlib.import_module in _check_cv_dep so that submodules (e.g. PIL.Image) are returned directly instead of the top-level package. --- mmif/utils/video_document_helper.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mmif/utils/video_document_helper.py b/mmif/utils/video_document_helper.py index 1ff6df40..d2df8323 100644 --- a/mmif/utils/video_document_helper.py +++ b/mmif/utils/video_document_helper.py @@ -25,7 +25,7 @@ def _check_cv_dep(dep): """Import a CV dependency, raising ImportError with a helpful message.""" try: - return importlib.__import__(dep) + return importlib.import_module(dep) except ImportError as e: raise ImportError( _cv_import_warning.format(e.name, mmif.__version__) @@ -130,7 +130,7 @@ def extract_frames_as_images(video_document: Document, framenums: Iterable[int], original_framenums = list(framenums) unique_framenums = sorted(set(original_framenums)) if as_PIL: - Image = _check_cv_dep('PIL').Image + Image = _check_cv_dep('PIL.Image') unique_frames = {} video = capture(video_document) cur_f = 0