integrate note and status

This commit is contained in:
clement.hector 2022-04-09 11:13:48 +02:00
parent 196c81ab78
commit eb288959f5
4 changed files with 80 additions and 1 deletions

View file

@ -10,7 +10,7 @@ class CollectKitsuSession(pyblish.api.ContextPlugin):
order = pyblish.api.CollectorOrder
label = "Kitsu user session"
# families = ["kitsu"]
def process(self, context):

View file

@ -0,0 +1,36 @@
import gazu
import pyblish.api
class IntegrateKitsuNote(pyblish.api.ContextPlugin):
"""Integrate Kitsu Note"""
order = pyblish.api.IntegratorOrder
label = "Kitsu Note and Status"
# families = ["kitsu"]
optional = True
def process(self, context):
publish_comment = context.data.get("comment")
if not publish_comment:
self.log.info("Comment is not set.")
publish_status = context.data.get("intent", {}).get("value")
if not publish_status:
self.log.info("Status is not set.")
self.log.debug("Comment is `{}`".format(publish_comment))
self.log.debug("Status is `{}`".format(publish_status))
kitsu_status = context.data.get("kitsu_status")
if not kitsu_status:
self.log.info("The status will not be changed")
kitsu_status = context.data["kitsu_task"].get("task_status")
self.log.debug("Kitsu status: {}".format(kitsu_status))
gazu.task.add_comment(
context.data["kitsu_task"],
kitsu_status,
comment = publish_comment
)

View file

@ -0,0 +1,16 @@
# import gazu
import pyblish.api
class IntegrateKitsuVersion(pyblish.api.InstancePlugin):
"""Integrate Kitsu Review"""
order = pyblish.api.IntegratorOrder
label = "Kitsu Review"
# families = ["kitsu"]
def process(self, instance):
pass
# gazu.task.upload_preview_file(preview, file_path, normalize_movie=True, client=<gazu.client.KitsuClient object>)
# gazu.task.add_preview(task, comment, preview_file_path, normalize_movie=True, client=<gazu.client.KitsuClient object>)

View file

@ -0,0 +1,27 @@
from typing import Optional
import pyblish.api
import gazu
class IntegrateKitsuNote(pyblish.api.ContextPlugin):
"""Integrate Kitsu Note"""
order = pyblish.api.ValidatorOrder
label = "Kitsu Intent/Status"
# families = ["kitsu"]
optional = True
def process(self, context):
publish_status = context.data.get("intent", {}).get("value")
if not publish_status:
self.log.info("Status is not set.")
kitsu_status = gazu.task.get_task_status_by_short_name(publish_status)
if not kitsu_status:
raise AssertionError(
"Status `{}` not not found in kitsu!".format(kitsu_status)
)
self.log.debug("Collect kitsu status: {}".format(kitsu_status))
context.data["kitsu_status"] = kitsu_status