diff options
Diffstat (limited to 'searx/babel_extract.py')
| -rw-r--r-- | searx/babel_extract.py | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/searx/babel_extract.py b/searx/babel_extract.py index f50756a48..65705efd6 100644 --- a/searx/babel_extract.py +++ b/searx/babel_extract.py @@ -45,6 +45,14 @@ def extract( namespace = {} exec(fileobj.read(), {}, namespace) # pylint: disable=exec-used - for name in namespace['__all__']: - for k, v in namespace[name].items(): - yield 0, '_', v, ["%s['%s']" % (name, k)] + for obj_name in namespace['__all__']: + obj = namespace[obj_name] + if isinstance(obj, list): + for msg in obj: + # (lineno, funcname, message, comments) + yield 0, '_', msg, [f"{obj_name}"] + elif isinstance(obj, dict): + for k, msg in obj.items(): + yield 0, '_', msg, [f"{obj_name}['{k}']"] + else: + raise ValueError(f"{obj_name} should be list or dict") |