From ab18e1d513d86ead93c6e0902d744cc9c5a25682 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Fri, 18 Jul 2025 14:14:50 +0800 Subject: [PATCH] bugfix --- appPublic/dictObject.py | 57 +++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/appPublic/dictObject.py b/appPublic/dictObject.py index f3f3f05..d295315 100755 --- a/appPublic/dictObject.py +++ b/appPublic/dictObject.py @@ -20,40 +20,41 @@ class DictObjectEncoder(JSONEncoder): return o._addon() class DictObject(dict): - def __init__(self, *args, **kwargs): - super().__init__() - self.update(*args, **kwargs) + def __init__(self, *args, **kwargs): + super().__init__() + self.update(*args, **kwargs) - def __getattr__(self, key): - try: - return self[key] - except KeyError: - raise AttributeError(f"No such attribute: {key}") + def __getattr__(self, key): + try: + return self[key] + except KeyError: + return None + # raise AttributeError(f"No such attribute: {key}") - def __setattr__(self, key, value): - self[key] = value + def __setattr__(self, key, value): + self[key] = value - def __delattr__(self, key): - try: - del self[key] - except KeyError: - raise AttributeError(f"No such attribute: {key}") + def __delattr__(self, key): + try: + del self[key] + except KeyError: + raise AttributeError(f"No such attribute: {key}") - def __setitem__(self, key, value): - super().__setitem__(key, self._wrap(value)) + def __setitem__(self, key, value): + super().__setitem__(key, self._wrap(value)) - def update(self, *args, **kwargs): - for k, v in dict(*args, **kwargs).items(): - self[k] = self._wrap(v) + def update(self, *args, **kwargs): + for k, v in dict(*args, **kwargs).items(): + self[k] = self._wrap(v) - @staticmethod - def _wrap(value): - if isinstance(value, dict): - return DictObject(value) - elif isinstance(value, list): - return [DictObject._wrap(v) for v in value] - else: - return value + @staticmethod + def _wrap(value): + if isinstance(value, dict): + return DictObject(value) + elif isinstance(value, list): + return [DictObject._wrap(v) for v in value] + else: + return value """ def dictObjectFactory(_klassName__,**kwargs):