From 2f615c9060b2bfd4f4b24c0230e7331b197199a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Samohel?= Date: Tue, 10 Nov 2020 18:06:26 +0100 Subject: [PATCH] fix metaclass madness --- pype/lib/abstract_collect_render.py | 12 ++++++++---- pype/lib/abstract_metaplugins.py | 6 +++--- pype/lib/abstract_submit_deadline.py | 4 ++-- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/pype/lib/abstract_collect_render.py b/pype/lib/abstract_collect_render.py index 89bbf6f024..33202b6ac3 100644 --- a/pype/lib/abstract_collect_render.py +++ b/pype/lib/abstract_collect_render.py @@ -4,10 +4,10 @@ TODO: use @dataclass when times come. """ -from abc import ABCMeta, abstractmethod +from abc import abstractmethod -import six import attr +import six from avalon import api import pyblish.api @@ -102,7 +102,8 @@ class RenderInstance(object): raise ValueError("both tiles X a Y sizes are set to 1") -class AbstractCollectRender(AbstractMetaContextPlugin): +@six.add_metaclass(AbstractMetaContextPlugin) +class AbstractCollectRender(pyblish.api.ContextPlugin): """Gather all publishable render layers from renderSetup.""" order = pyblish.api.CollectorOrder + 0.01 @@ -196,9 +197,12 @@ class AbstractCollectRender(AbstractMetaContextPlugin): self.post_collecting_action() @abstractmethod - def get_instances(self): + def get_instances(self, context): """Get all renderable instances and their data. + Args: + context (pyblish.api.Context): Context object. + Returns: list of :class:`RenderInstance`: All collected renderable instances (like render layers, write nodes, etc.) diff --git a/pype/lib/abstract_metaplugins.py b/pype/lib/abstract_metaplugins.py index 684d2ab19e..f8163956ad 100644 --- a/pype/lib/abstract_metaplugins.py +++ b/pype/lib/abstract_metaplugins.py @@ -1,10 +1,10 @@ from abc import ABCMeta -from pyblish.api import InstancePlugin, ContextPlugin +from pyblish.plugin import MetaPlugin, ExplicitMetaPlugin -class AbstractMetaInstancePlugin(ABCMeta, InstancePlugin): +class AbstractMetaInstancePlugin(ABCMeta, MetaPlugin): pass -class AbstractMetaContextPlugin(ABCMeta, ContextPlugin): +class AbstractMetaContextPlugin(ABCMeta, ExplicitMetaPlugin): pass diff --git a/pype/lib/abstract_submit_deadline.py b/pype/lib/abstract_submit_deadline.py index e67e261cae..44ee9ce436 100644 --- a/pype/lib/abstract_submit_deadline.py +++ b/pype/lib/abstract_submit_deadline.py @@ -5,7 +5,7 @@ It provides Deadline JobInfo data class. """ import os -from abc import ABCMeta, abstractmethod +from abc import abstractmethod import platform import getpass from collections import OrderedDict @@ -352,7 +352,7 @@ class DeadlineJobInfo: @six.add_metaclass(AbstractMetaInstancePlugin) -class AbstractSubmitDeadline: +class AbstractSubmitDeadline(pyblish.api.InstancePlugin): """Class abstracting access to Deadline.""" label = "Submit to Deadline"