From fe6c68d97b941f8da631e84b1d5736c5be6881e8 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Fri, 24 Mar 2023 15:33:11 +0100 Subject: [PATCH] add explicit handling for duplicate event names when writing the translation file --- fsfwgen/events/event_parser.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/fsfwgen/events/event_parser.py b/fsfwgen/events/event_parser.py index bc99358..c938d13 100644 --- a/fsfwgen/events/event_parser.py +++ b/fsfwgen/events/event_parser.py @@ -274,10 +274,16 @@ def write_translation_source_file( event_id = entry[0] event_value = entry[1] name = event_value.name - if name not in lut: - definitions += f"const char *{name}_STRING " f'= "{name}";\n' - function += f" case ({event_id}):\n " f"return {name}_STRING;\n" - lut.update({name: event_value}) + if name in lut: + _LOGGER.warning( + "Duplicate name detected when generating event translation source file" + ) + _LOGGER.warning(f"Name: {name}, Event Entry: {event_value}") + name = f"{name}_{event_id}" + _LOGGER.info(f"Created unique name {name}") + definitions += f"const char *{name}_STRING " f'= "{name}";\n' + function += f" case ({event_id}):\n " f"return {name}_STRING;\n" + lut.update({name: event_value}) function += ' default:\n return "UNKNOWN_EVENT";\n' out.write( f"/**\n * @brief Auto-generated event translation file. "