Closed fastlorenzo closed 1 year ago
The code is missing a check if val is of NoneType, which ends up with the following error:
val
NoneType
openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.680 [ERROR] [HABApp.openhab.thing ] - File "/usr/local/lib/python3.10/site-packages/HABApp/openhab/definitions/helpers/log_table.py", line 35 in format_entry openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.680 [ERROR] [HABApp.openhab.thing ] - -------------------------------------------------------------------------------- openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.680 [ERROR] [HABApp.openhab.thing ] - 22 | def format_entry(self, pos: int, lines: int) -> List[str]: openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.680 [ERROR] [HABApp.openhab.thing ] - (...) openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.680 [ERROR] [HABApp.openhab.thing ] - 32 | if isinstance(val, bool): openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.680 [ERROR] [HABApp.openhab.thing ] - 33 | val = str(val) openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.680 [ERROR] [HABApp.openhab.thing ] - 34 | f = f'{{:{""if self.align is None else self.align}{self.width:d}}}' openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.680 [ERROR] [HABApp.openhab.thing ] - --> 35 | ret.append(f.format(val)) openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.680 [ERROR] [HABApp.openhab.thing ] - 36 | return ret openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.680 [ERROR] [HABApp.openhab.thing ] - ------------------------------------------------------------ openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.680 [ERROR] [HABApp.openhab.thing ] - self = <HABApp.openhab.definitions.helpers.log_table.Column object at 0x7f55bc99b2e0> openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.680 [ERROR] [HABApp.openhab.thing ] - self.entries = [('zwave:serial_zstick:d8dbe7c586',), ('zwave:serial_zstick:d8dbe7c586',), ('zwave:serial_zstick:d8dbe7c586',), (None,), ('zwave:serial_zstick:d8dbe7c586',), ('zwave:serial_zstick:d8dbe7c586',), ('zwave:serial_zstick:d8dbe7c586',), ('zwave:serial_zstick:d8dbe7c586',), ('zwave:serial_zstick:d8dbe7c586',), ('zwave:serial_zstick:d8dbe7c586',), ('zwave:serial_zstick:d8dbe7c586',), ('zwave:serial_zstick:d8dbe7c586',), ('zwave:serial_zstick:d8dbe7c586',), ('zwave:serial_zstick:d8dbe7c586',), ('zwave:serial_zstick:d8dbe7c586',), ('zwave:serial_zstick:d8dbe7c586',), ('zwave:serial_zstick:d8dbe7c586',), ('zwave:serial_zstick:d8dbe7c586',), ('zwave:serial_zstick:d8dbe7c586',), ('zwave:serial_zstick:d8dbe7c586',), ('zwave:serial_zstick:d8dbe7c586',), ('zwave:serial_zstick:d8dbe7c586',), ('zwave:serial_zstick:d8dbe7c586',), ('zwave:serial_zstick:d8dbe7c586',), ('zwave:serial_zstick:d8dbe7c586',), ('zwave:serial_zstick:d8dbe7c586',), ('zwave:serial_zstick:d8dbe7c586',), ('zwave:serial_zstick:d8dbe7c586',)] openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.680 [ERROR] [HABApp.openhab.thing ] - self.entries[pos] = (None,) openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.680 [ERROR] [HABApp.openhab.thing ] - self.width = 30 openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.680 [ERROR] [HABApp.openhab.thing ] - self.width * ' ' = ' ' openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.680 [ERROR] [HABApp.openhab.thing ] - f = '{:<30}' openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.680 [ERROR] [HABApp.openhab.thing ] - i = 0 openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.680 [ERROR] [HABApp.openhab.thing ] - len(objs) = 1 openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.680 [ERROR] [HABApp.openhab.thing ] - lines = 1 openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.680 [ERROR] [HABApp.openhab.thing ] - objs = (None,) openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.680 [ERROR] [HABApp.openhab.thing ] - objs[i] = None openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.680 [ERROR] [HABApp.openhab.thing ] - pos = 3 openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.680 [ERROR] [HABApp.openhab.thing ] - range(lines) = range(0, 1) openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.680 [ERROR] [HABApp.openhab.thing ] - ret = [] openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.680 [ERROR] [HABApp.openhab.thing ] - size = 1 openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.681 [ERROR] [HABApp.openhab.thing ] - str(val) = 'None' openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.681 [ERROR] [HABApp.openhab.thing ] - val = None openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.681 [ERROR] [HABApp.openhab.thing ] - i >= size = False openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.681 [ERROR] [HABApp.openhab.thing ] - ------------------------------------------------------------ openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.681 [ERROR] [HABApp.openhab.thing ] - openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.681 [ERROR] [HABApp.openhab.thing ] - -------------------------------------------------------------------------------- openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.681 [ERROR] [HABApp.openhab.thing ] - Traceback (most recent call last): openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.681 [ERROR] [HABApp.openhab.thing ] - File "/usr/local/lib/python3.10/site-packages/HABApp/core/files/file/file.py", line 109, in load openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.681 [ERROR] [HABApp.openhab.thing ] - await self.__class__.LOAD_FUNC(self.name, self.path) openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.681 [ERROR] [HABApp.openhab.thing ] - File "/usr/local/lib/python3.10/site-packages/HABApp/openhab/connection_logic/plugin_things/plugin_things.py", line 120, in file_load openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.681 [ERROR] [HABApp.openhab.thing ] - log_overview(data, THING_ALIAS, 'Thing overview') openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.681 [ERROR] [HABApp.openhab.thing ] - File "/usr/local/lib/python3.10/site-packages/HABApp/openhab/connection_logic/plugin_things/filters.py", line 76, in log_overview openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.681 [ERROR] [HABApp.openhab.thing ] - for line in table.get_lines(sort_columns=['thing_type'] if 'thing_type' in table.columns else None): openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.681 [ERROR] [HABApp.openhab.thing ] - File "/usr/local/lib/python3.10/site-packages/HABApp/openhab/definitions/helpers/log_table.py", line 117, in get_lines openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.681 [ERROR] [HABApp.openhab.thing ] - grid = tuple(map(lambda x: x.format_entry(i, lines), self.columns.values())) # type: Tuple[List[str], ...] openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.681 [ERROR] [HABApp.openhab.thing ] - File "/usr/local/lib/python3.10/site-packages/HABApp/openhab/definitions/helpers/log_table.py", line 117, in <lambda> openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.681 [ERROR] [HABApp.openhab.thing ] - grid = tuple(map(lambda x: x.format_entry(i, lines), self.columns.values())) # type: Tuple[List[str], ...] openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.681 [ERROR] [HABApp.openhab.thing ] - File "/usr/local/lib/python3.10/site-packages/HABApp/openhab/definitions/helpers/log_table.py", line 35, in format_entry openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.681 [ERROR] [HABApp.openhab.thing ] - ret.append(f.format(val)) openhab-55cb9bcfbb-pn7s9 habapp 2022-08-22 16:38:03.681 [ERROR] [HABApp.openhab.thing ] - TypeError: unsupported format string passed to NoneType.__format__ openhab-55cb9bcfbb-pn7s9 habapp [2022-08-22 16:38:03,682] [ HABApp.EventBus] INFO | HABApp.Errors: <HABAppException func_name: file_load, exception: unsupported format string passed to NoneType.__format__>
https://github.com/spacemanspiff2007/HABApp/blob/decea19e5d4a54fdcdbbb61edfe5ff96ab068e6a/src/HABApp/openhab/definitions/helpers/log_table.py#L31-L35
Upon checking further None should have never been added. There must be another error. Could you provide the complete trace back please?
Closed since this issue seems to be stale
Implemented in 1.0.6
The code is missing a check if
val
is ofNoneType
, which ends up with the following error:https://github.com/spacemanspiff2007/HABApp/blob/decea19e5d4a54fdcdbbb61edfe5ff96ab068e6a/src/HABApp/openhab/definitions/helpers/log_table.py#L31-L35