From b74dc3a7a79bdf6067f8c7ea7d11e0088487cf5b Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 9 Dec 2020 10:07:18 +0100 Subject: [PATCH] fix(global): two types on repre["files"] support and better exception oiio_supported didn't test path existence --- pype/lib/plugin_tools.py | 6 +++++- pype/plugins/global/publish/extract_review.py | 12 +++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/pype/lib/plugin_tools.py b/pype/lib/plugin_tools.py index 2fc99bcf16..460665935a 100644 --- a/pype/lib/plugin_tools.py +++ b/pype/lib/plugin_tools.py @@ -145,7 +145,11 @@ def oiio_supported(): 'should_decompress' will throw exception if configured, but not present or working. """ - return os.getenv("PYPE_OIIO_PATH", "") != "" + oiio_path = os.getenv("PYPE_OIIO_PATH", "") + if not os.path.exists(oiio_path) or not oiio_path: + raise IOError("Files do not exists in `{}`".format(oiio_path)) + + return True def decompress(target_dir, file_url, diff --git a/pype/plugins/global/publish/extract_review.py b/pype/plugins/global/publish/extract_review.py index a40a943559..26e60fbd48 100644 --- a/pype/plugins/global/publish/extract_review.py +++ b/pype/plugins/global/publish/extract_review.py @@ -335,9 +335,15 @@ class ExtractReview(pyblish.api.InstancePlugin): ffmpeg_video_filters = out_def_ffmpeg_args.get("video_filters") or [] ffmpeg_audio_filters = out_def_ffmpeg_args.get("audio_filters") or [] - input_files_urls = [os.path.join(new_repre["stagingDir"], f) for f - in new_repre['files']] - do_decompress = should_decompress(input_files_urls[0]) + if isinstance(new_repre['files'], list): + input_files_urls = [os.path.join(new_repre["stagingDir"], f) for f + in new_repre['files']] + do_decompress = should_decompress(input_files_urls[0]) + else: + test_path = os.path.join( + new_repre["stagingDir"], new_repre['files']) + do_decompress = should_decompress(test_path) + if do_decompress: # change stagingDir, decompress first # calculate all paths with modified directory, used on too many