From 3df0d2023cc0262d0a72781062e9bbf314e1b772 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 30 Jun 2021 20:12:25 +0200 Subject: [PATCH] initial commit of reset method --- openpype/tools/new_publisher/control.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/openpype/tools/new_publisher/control.py b/openpype/tools/new_publisher/control.py index 53d3e9ed46..2344081a28 100644 --- a/openpype/tools/new_publisher/control.py +++ b/openpype/tools/new_publisher/control.py @@ -1,8 +1,30 @@ import logging +import inspect import avalon.api +from openpype.pipeline import BaseCreator class PublisherController: def __init__(self): self.log = logging.getLogger("PublisherController") self.host = avalon.api.registered_host() + + self.creators = [] + self.publish_plugins = [] + self.instances = [] + + def reset(self): + """Reset to initial state.""" + creators = [] + for creator in avalon.api.discover(BaseCreator): + if inspect.isabstract(creator): + self.log.info( + "Skipping abstract Creator {}".format(str(creator)) + ) + continue + creators.append(creator) + + self.creators = creators + self.publish_plugins = [] + + self.instances = self.host.list_instances()