From 17aa236452a920ea7edd904fd1df8845868d6e86 Mon Sep 17 00:00:00 2001 From: Leifur Halldor Asgeirsson <lasgeirsson@zerofail.com> Date: Fri, 28 Oct 2016 15:18:35 -0400 Subject: [PATCH] default __init__ method on Element --- goblin/element.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/goblin/element.py b/goblin/element.py index a141bf8..d69854b 100644 --- a/goblin/element.py +++ b/goblin/element.py @@ -66,6 +66,14 @@ class ElementMeta(type): class Element(metaclass=ElementMeta): """Base class for classes that implement the Element property interface""" + def __init__(self, **kwargs): + for key, value in kwargs.items(): + if not (hasattr(self, key) and + isinstance(getattr(self, key), properties.PropertyDescriptor)): + raise AssertionError( + "No such property: {} for element {}".format(key, self.__class__.__name__)) + setattr(self, key, value) + id = properties.IdProperty(properties.Generic) -- GitLab