X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Frspecs%2Felements%2Felement.py;h=7dcfa007a994370cc0076eb76ac0a047ab80a4d3;hb=4a9e6751f9f396f463932133b9d62fc925a99ef6;hp=e185490a8f99ea987a19e53163fd5d03f246e659;hpb=19dff4d49e0bf51857903d759947d0a1b01229a4;p=sfa.git diff --git a/sfa/rspecs/elements/element.py b/sfa/rspecs/elements/element.py index e185490a..7dcfa007 100644 --- a/sfa/rspecs/elements/element.py +++ b/sfa/rspecs/elements/element.py @@ -2,20 +2,22 @@ class Element(dict): fields = {} - def __init__(self, fields={}, element=None, keys=None): + def __init__(self, fields=None, element=None, keys=None): + if fields is None: + fields = {} self.element = element dict.__init__(self, dict.fromkeys(self.fields)) if not keys: - keys = fields.keys() + keys = list(fields.keys()) for key in keys: if key in fields: - self[key] = fields[key] - + self[key] = fields[key] def __getattr__(self, name): - if hasattr(self, name): - return getattr(self, name) + if hasattr(self.__dict__, name): + return getattr(self.__dict__, name) elif hasattr(self.element, name): return getattr(self.element, name) else: - raise AttributeError, "class Element has not attribute %s" % name + raise AttributeError("class Element of type {} has no attribute {}" + .format(self.__class__.__name__, name))