SyntaxError for inventory plugin in ~/var/log/web.log

Hi,

Checkmk Version: Checkmk Enterprise Edition 2.2.0p23

I wrote a little plugin for our inventory. It’s working great but i stumbled upon an error in ~/var/log/web.log for the plugin.

2024-03-06 23:36:38,749 [40] [cmk.web 1901547] Error on declaring permissions for packaged visuals in file /omd/sites/main/local/lib/check_mk/gui/plugins/views/apc_inventory_view.py
Traceback (most recent call last):
  File "/omd/sites/main/lib/python3/cmk/gui/visuals/__init__.py", line 659, in declare_packaged_visuals_permissions
    for name, visual in store.try_load_file_from_pickle_cache(dirpath, default={}).items():
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/main/lib/python3/cmk/utils/store/__init__.py", line 309, in try_load_file_from_pickle_cache
    data = load_object_from_file(path, default=default, lock=lock)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/main/lib/python3/cmk/utils/store/__init__.py", line 186, in load_object_from_file
    return ObjectStore(Path(path), serializer=DimSerializer()).read_obj(default=default)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/main/lib/python3/cmk/utils/store/_file.py", line 136, in read_obj
    return self._serializer.deserialize(raw) if raw else default
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/main/lib/python3/cmk/utils/store/_file.py", line 75, in deserialize
    return literal_eval(raw.decode("utf-8"))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/main/lib/python3.11/ast.py", line 64, in literal_eval
    node_or_string = parse(node_or_string.lstrip(" \t"), mode='eval')
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/main/lib/python3.11/ast.py", line 50, in parse
    return compile(source, filename, mode, flags,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<unknown>", line 7
    from cmk.gui.i18n import _l
    ^^^^
SyntaxError: invalid syntax

It’s complaining about the import, but i just can’t find the problem looking at other examples.

From the head of the file

#!/usr/bin/env python3
# -*- encoding: utf-8; py-indent-offset: 4 -*-

from cmk.gui.i18n import _l
from cmk.gui.views.inventory.registry import inventory_displayhints

inventory_displayhints.update({
etc.etc.

Can anyone tell me what i did wrong? :slight_smile:

Thanks and br