Files
qt-migration-legatus/qt5-before/dlbo/Lts/Tests/DatabaseInitialisation/update_barcode_mpa.py
T
torstenandCopilot 7173785915 Qt6 Migration: Complete migration with DDS/RTI support and build validation
Major Changes:
- Merged latest Qt5 devel content from dlbo (292 files changed, 7 new dirs)
- Consolidated forward-declarations and include folders
- Removed unneeded modules per Niklas' repo check list

Build System Fixes:
- Fixed CMake VERSION_GREATER syntax in ParticipantManagement/CMakeLists.txt
- Added VLC packages (libvlc-dev, vlc-plugin-base) to docker_build.sh
- Added PostgreSQL dev packages (libpq-dev, postgresql-server-dev-all) to Dockerfile
- Fixed locale warnings (ANSI_X3.4-1968 → C.UTF-8)
- Fixed ArcGIS SDK path warnings when BUILD_ARCGIS=OFF

Code Generation Fixes:
- Fixed IDL enum collisions (PortType→CorePortType/DdsutPortType, PdmEventType)
- Fixed Grantlee template svc_translation.cpp.grantlee:
  - Changed {{ idl_enum.name }}_def:: to {{ idl_enum.name }}::
  - Fixed .underlying() calls for C++11 scoped enums (enum class)
- Removed generated files from repo (moc_*, *_dtc.h, *_ftc.h)

Validation:
- BUILD_RTI=ON: SUCCESS
- BUILD_RTI=OFF: SUCCESS
- C++17 standard maintained for RTI 7.7 compatibility
- Ubuntu 26.04 Docker environment verified

Remaining Warnings (expected):
- BgViewer, KDChart, KDReports, Poppler-Qt6 not found (optional features)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-15 18:20:26 +00:00

49 lines
1.4 KiB
Python
Executable File

#!/usr/bin/python
# This Python file uses the following encoding: utf-8
import sys
from collections import OrderedDict
#asset_id,asset_barcode,structure_element_id,se_barcode,main_structure_element_id,name
def readBarcodes(filename):
"""Create a dictionary { name, MSE-name : barcode }."""
ret = OrderedDict()
with open(filename, "r") as f:
lines = f.read().split("\n")
cols = lines[0].strip().split(',')
#assert cols[0].lower() == "asset_id"
assert cols[1].lower() == "asset_barcode"
assert cols[3].lower() == "se_barcode"
rows = [line.strip() for line in lines[1:] if line.strip() != ""]
for row in rows:
items = row.split(",")
ret[items[1]] = items[3]
return ret
def appendBarcodeUpdates(outputFile, barcodes):
"""Append an SQL INSERT statement for barcodes."""
lines = []
for key in barcodes.keys():
asset_barcode = key
update = "INSERT INTO ism.ism_mounting_point_asset (asset_id, structure_element_id) VALUES ((SELECT id FROM ism.ism_asset WHERE barcode = '%s'), (SELECT id FROM ism.ism_structure_element WHERE barcode = '%s' ));" % (asset_barcode, barcodes[key])
lines.append(update)
with open(outputFile, "w") as f:
for line in lines:
f.write(line + "\n")
if __name__ == "__main__":
barcodeFile = sys.argv[1]
barcodes = readBarcodes(barcodeFile)
sqlOutputFile = sys.argv[2]
appendBarcodeUpdates(sqlOutputFile, barcodes)