Matches VPX table metadata to VPS database entries in ASAPCabinetFE. More...
#include <vps_database_scanner.h>
Public Member Functions | |
VpsDataScanner (const nlohmann::json &vpsDb) | |
Constructs a VpsDataScanner instance with a loaded VPS database. | |
bool | matchMetadata (const nlohmann::json &vpxTable, TableData &tableData, LoadingProgress *progress=nullptr) const |
Matches a VPX table's metadata to a VPS database entry. | |
Matches VPX table metadata to VPS database entries in ASAPCabinetFE.
This class enriches TableData objects by matching their metadata (primarily filename-derived title, manufacturer, and year) against vpsdb.json entries. It prioritizes filename-derived fields to handle unreliable internal metadata, uses simplified scoring for accuracy, and optimizes performance.
VpsDataScanner::VpsDataScanner | ( | const nlohmann::json & | vpsDb | ) |
Constructs a VpsDataScanner instance with a loaded VPS database.
vpsDb | Reference to the parsed vpsdb.json data. |
bool VpsDataScanner::matchMetadata | ( | const nlohmann::json & | vpxTable, |
TableData & | tableData, | ||
LoadingProgress * | progress = nullptr |
||
) | const |
Matches a VPX table's metadata to a VPS database entry.
Compares vpxTable JSON and TableData against vpsdb.json, prioritizing filename_title. Populates TableData's VPS fields (e.g., vpsId, vpsName) for high-confidence matches. Updates progress and logs mismatches.
vpxTable | JSON data from a VPX table (e.g., from vpin_scanner). |
tableData | Reference to the TableData object to match. |
progress | Optional pointer to LoadingProgress for real-time updates. |