#!/usr/bin/env python3 """ Second pass fix for remaining issues """ import re from pathlib import Path filepath = Path("/home/torsten/swy/sandbox/qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/training_area_telegrams.cpp") content = filepath.read_text() # Fix remaining closing braces: }); -> }}; content = re.sub(r'\}\);', '}};', content) # Fix ExConfirmationReport toJson - member access to method calls # These are macros: HEADER(), PARTY_ID(), REFERENCE(), UNIT_IDENTIFIER(), IDENTIFIER() content = re.sub(r'(\{PARTY_ID\(\),\s*)partyId(\})', r'\1partyId()\2', content) content = re.sub(r'(\{REFERENCE\(\),\s*)reference(\})', r'\1reference()\2', content) content = re.sub(r'(\{UNIT_IDENTIFIER\(\),\s*)unitIdentifier(\})', r'\1unitIdentifier()\2', content) content = re.sub(r'(\{IDENTIFIER\(\),\s*)identifier(\})', r'\1identifier()\2', content) # Fix other common patterns content = re.sub(r'(\{QStringLiteral\("type"\),\s*)type(\})', r'\1type()\2', content) content = re.sub(r'(\{QStringLiteral\("status"\),\s*)status(\})', r'\1status()\2', content) content = re.sub(r'(\{QStringLiteral\("message"\),\s*)message(\})', r'\1message()\2', content) content = re.sub(r'(\{QStringLiteral\("latitude"\),\s*)latitude(\})', r'\1latitude()\2', content) content = re.sub(r'(\{QStringLiteral\("longitude"\),\s*)longitude(\})', r'\1longitude()\2', content) content = re.sub(r'(\{QStringLiteral\("altitude"\),\s*)altitude(\})', r'\1altitude()\2', content) content = re.sub(r'(\{QStringLiteral\("heading"\),\s*)heading(\})', r'\1heading()\2', content) content = re.sub(r'(\{QStringLiteral\("speed"\),\s*)speed(\})', r'\1speed()\2', content) content = re.sub(r'(\{QStringLiteral\("slope"\),\s*)slope(\})', r'\1slope()\2', content) content = re.sub(r'(\{QStringLiteral\("roll"\),\s*)roll(\})', r'\1roll()\2', content) content = re.sub(r'(\{QStringLiteral\("pitch"\),\s*)pitch(\})', r'\1pitch()\2', content) content = re.sub(r'(\{QStringLiteral\("fixType"\),\s*)fixType(\})', r'\1fixType()\2', content) content = re.sub(r'(\{QStringLiteral\("quality"\),\s*)quality(\})', r'\1quality()\2', content) content = re.sub(r'(\{QStringLiteral\("satellites"\),\s*)satellites(\})', r'\1satellites()\2', content) content = re.sub(r'(\{QStringLiteral\("positionError"\),\s*)positionError(\})', r'\1positionError()\2', content) content = re.sub(r'(\{QStringLiteral\("gear"\),\s*)gear(\})', r'\1gear()\2', content) content = re.sub(r'(\{QStringLiteral\("gearCharge"\),\s*)gearCharge(\})', r'\1gearCharge()\2', content) content = re.sub(r'(\{QStringLiteral\("wlsPosition"\),\s*)wlsPosition(\})', r'\1wlsPosition()\2', content) content = re.sub(r'(\{QStringLiteral\("wlsParticipantState"\),\s*)wlsParticipantState(\})', r'\1wlsParticipantState()\2', content) content = re.sub(r'(\{QStringLiteral\("prefix"\),\s*)prefix(\})', r'\1prefix()\2', content) content = re.sub(r'(\{QStringLiteral\("simulationType"\),\s*)simulationType(\})', r'\1simulationType()\2', content) content = re.sub(r'(\{QStringLiteral\("position"\),\s*)position(\})', r'\1position()\2', content) content = re.sub(r'(\{QStringLiteral\("radius"\),\s*)radius(\})', r'\1radius()\2', content) content = re.sub(r'(\{QStringLiteral\("groupId"\),\s*)groupId(\})', r'\1groupId()\2', content) content = re.sub(r'(\{QStringLiteral\("groupType"\),\s*)groupType(\})', r'\1groupType()\2', content) content = re.sub(r'(\{QStringLiteral\("groupName"\),\s*)groupName(\})', r'\1groupName()\2', content) content = re.sub(r'(\{QStringLiteral\("side"\),\s*)side(\})', r'\1side()\2', content) content = re.sub(r'(\{QStringLiteral\("participants"\),\s*)participants(\})', r'\1participants()\2', content) content = re.sub(r'(\{QStringLiteral\("taskId"\),\s*)taskId(\})', r'\1taskId()\2', content) content = re.sub(r'(\{QStringLiteral\("taskType"\),\s*)taskType(\})', r'\1taskType()\2', content) content = re.sub(r'(\{QStringLiteral\("taskState"\),\s*)taskState(\})', r'\1taskState()\2', content) content = re.sub(r'(\{QStringLiteral\("taskProgress"\),\s*)taskProgress(\})', r'\1taskProgress()\2', content) content = re.sub(r'(\{QStringLiteral\("taskDescription"\),\s*)taskDescription(\})', r'\1taskDescription()\2', content) content = re.sub(r'(\{QStringLiteral\("uavAction"\),\s*)uavAction(\})', r'\1uavAction()\2', content) content = re.sub(r'(\{QStringLiteral\("uavState"\),\s*)uavState(\})', r'\1uavState()\2', content) content = re.sub(r'(\{QStringLiteral\("uavMode"\),\s*)uavMode(\})', r'\1uavMode()\2', content) content = re.sub(r'(\{QStringLiteral\("uavBatteryLevel"\),\s*)uavBatteryLevel(\})', r'\1uavBatteryLevel()\2', content) content = re.sub(r'(\{QStringLiteral\("uavSignalStrength"\),\s*)uavSignalStrength(\})', r'\1uavSignalStrength()\2', content) content = re.sub(r'(\{QStringLiteral\("uavHomePosition"\),\s*)uavHomePosition(\})', r'\1uavHomePosition()\2', content) content = re.sub(r'(\{QStringLiteral\("uavCurrentPosition"\),\s*)uavCurrentPosition(\})', r'\1uavCurrentPosition()\2', content) content = re.sub(r'(\{QStringLiteral\("uavTargetPosition"\),\s*)uavTargetPosition(\})', r'\1uavTargetPosition()\2', content) content = re.sub(r'(\{QStringLiteral\("uavWaypoints"\),\s*)uavWaypoints(\})', r'\1uavWaypoints()\2', content) content = re.sub(r'(\{QStringLiteral\("uavFlightPath"\),\s*)uavFlightPath(\})', r'\1uavFlightPath()\2', content) content = re.sub(r'(\{QStringLiteral\("uavPayload"\),\s*)uavPayload(\})', r'\1uavPayload()\2', content) content = re.sub(r'(\{QStringLiteral\("uavMissionId"\),\s*)uavMissionId(\})', r'\1uavMissionId()\2', content) content = re.sub(r'(\{QStringLiteral\("uavMissionState"\),\s*)uavMissionState(\})', r'\1uavMissionState()\2', content) content = re.sub(r'(\{QStringLiteral\("uavMissionProgress"\),\s*)uavMissionProgress(\})', r'\1uavMissionProgress()\2', content) content = re.sub(r'(\{QStringLiteral\("uavMissionDescription"\),\s*)uavMissionDescription(\})', r'\1uavMissionDescription()\2', content) print("Second pass fixes applied") filepath.write_text(content) print("Done!")