diff options
Diffstat (limited to 'searx/result_types')
| -rw-r--r-- | searx/result_types/_base.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/searx/result_types/_base.py b/searx/result_types/_base.py index 6d9a49943..66e31c7f2 100644 --- a/searx/result_types/_base.py +++ b/searx/result_types/_base.py @@ -110,6 +110,9 @@ class Result(msgspec.Struct, kw_only=True): return iter(self.__struct_fields__) + def as_dict(self): + return {f: getattr(self, f) for f in self.__struct_fields__} + class LegacyResult(dict): """A wrapper around a legacy result item. The SearXNG core uses this class @@ -130,10 +133,12 @@ class LegacyResult(dict): UNSET = object() WHITESPACE_REGEX = re.compile('( |\t|\n)+', re.M | re.U) + def as_dict(self): + return self + def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - self.__dict__ = self # Init fields with defaults / compare with defaults of the fields in class Result self.engine = self.get("engine", "") |