Source code for masterpiece_plugin.foo

from masterpiece.base import Plugin, Composite


[docs] class Foo(Plugin): """An object with a description.""" def __init__(self, name: str = "noname", description: str = "foo") -> None: """Create a foo object.""" super().__init__(name) self.description = description # @override
[docs] def install(self, app: Composite) -> None: obj = Foo("Hello World - A Plugin") app.add(obj)
# @override
[docs] def to_dict(self): """Convert instance attributes to a dictionary.""" return { "_class": self.get_class_id(), # the real class "_version:": 0, "_foo": { "description": self.description, }, }
# @override
[docs] def from_dict(self, data): """Update instance attributes from a dictionary.""" for key, value in data["_foo"].items(): setattr(self, key, value)