diff --git a/openpype/plugins/publish/collect_scene_version.py b/openpype/plugins/publish/collect_scene_version.py index fdbcb3cb9d..8c08bea50a 100644 --- a/openpype/plugins/publish/collect_scene_version.py +++ b/openpype/plugins/publish/collect_scene_version.py @@ -3,6 +3,7 @@ import pyblish.api from openpype.lib import get_version_from_path from openpype.tests.lib import is_in_tests +from openpype.pipeline import KnownPublishError class CollectSceneVersion(pyblish.api.ContextPlugin): @@ -38,18 +39,24 @@ class CollectSceneVersion(pyblish.api.ContextPlugin): if ( os.environ.get("HEADLESS_PUBLISH") and not is_in_tests() - and context.data["hostName"] in self.skip_hosts_headless_publish): + and context.data["hostName"] in self.skip_hosts_headless_publish + ): self.log.debug("Skipping for headless publishing") return - assert context.data.get('currentFile'), "Cannot get current file" + if not context.data.get('currentFile'): + raise KnownPublishError("Cannot get current workfile path. " + "Make sure your scene is saved.") + filename = os.path.basename(context.data.get('currentFile')) if '' in filename: return version = get_version_from_path(filename) - assert version, "Cannot determine version" + if version is None: + raise KnownPublishError("Unable to retrieve version number from " + "filename: {}".format(filename)) rootVersion = int(version) context.data['version'] = rootVersion