From e4ba53ac15358dbc648bfa6f8e4a507dfe513072 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 31 Jan 2020 12:13:20 +0100 Subject: [PATCH] integrate ftrack note add notes to each integrated asset version --- .../ftrack/publish/integrate_ftrack_note.py | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/pype/plugins/ftrack/publish/integrate_ftrack_note.py b/pype/plugins/ftrack/publish/integrate_ftrack_note.py index e24c839be2..f7fb5addbb 100644 --- a/pype/plugins/ftrack/publish/integrate_ftrack_note.py +++ b/pype/plugins/ftrack/publish/integrate_ftrack_note.py @@ -6,29 +6,45 @@ import six class IntegrateFtrackNote(pyblish.api.InstancePlugin): """Create comments in Ftrack.""" - order = pyblish.api.IntegratorOrder - label = "Integrate Comments to Ftrack." + # Must be after integrate asset new + order = pyblish.api.IntegratorOrder + 0.4999 + label = "Integrate Ftrack note" families = ["ftrack"] optional = True def process(self, instance): comment = (instance.context.data.get("comment") or "").strip() if not comment: + self.log.info("Comment is not set.") return + self.log.debug("Comment is set to {}".format(comment)) + asset_versions_key = "ftrackIntegratedAssetVersions" asset_versions = instance.data.get(asset_versions_key) if not asset_versions: + self.log.info("There are any integrated AssetVersions") return - session = context.data["ftrackSession"] + session = instance.context.data["ftrackSession"] + user = session.query( + "User where username is \"{}\"".format(session.api_user) + ).first() + if not user: + self.log.warning( + "Was not able to query current User {}".format( + session.api_user + ) + ) - note = session.create("Note", {"content": comment}) for asset_version in asset_versions: - asset_version["notes"].extend(note) + asset_version.create_note(comment, author=user) try: session.commit() + self.log.debug("Note added to AssetVersion \"{}\"".format( + str(asset_version) + )) except Exception: tp, value, tb = sys.exc_info() session.rollback()