ayon-core/pype/modules/base.py
2020-09-22 16:12:25 +02:00

38 lines
865 B
Python

# -*- coding: utf-8 -*-
"""Base class for Pype Modules."""
from uuid import uuid4
from abc import ABC, abstractmethod
from pype.api import Logger
class PypeModule(ABC):
"""Base class of pype module.
Attributes:
id (UUID): Module id.
enabled (bool): Is module enabled.
name (str): Module name.
"""
enabled = False
name = None
_id = None
def __init__(self, settings):
if self.name is None:
self.name = self.__class__.__name__
self.log = Logger().get_logger(self.name)
self.settings = settings.get(self.name)
self.enabled = settings.get("enabled", False)
self._id = uuid4()
@property
def id(self):
return self._id
@abstractmethod
def startup_environments(self):
"""Get startup environments for module."""
return {}