Improved matching logging

This commit is contained in:
Klaus Basan
2019-05-27 00:14:36 +02:00
committed by Mat Sutcliffe
parent 949513ce50
commit 56d72b94c1
3 changed files with 47 additions and 13 deletions

View File

@@ -403,8 +403,11 @@ namespace BlackCore
// lookup if model is not yet from DB // lookup if model is not yet from DB
const DBTripleIds ids = CAircraftModel::parseNetworkLiveryString(networkLiveryInfo); const DBTripleIds ids = CAircraftModel::parseNetworkLiveryString(networkLiveryInfo);
if (ids.model >= 0) if (log) { CMatchingUtils::addLogDetailsToList(log, callsign, QStringLiteral("Livery string with ids: '%1'").arg(ids.toQString())); }
if (ids.model >= 0 && !modelToLookup.hasModelString())
{ {
if (log) { CMatchingUtils::addLogDetailsToList(log, callsign, QStringLiteral("Model lookup with id %1 from triple ids '%2'").arg(ids.model).arg(ids.toQString())); }
const CAircraftModel modelFromDb = CAircraftMatcher::reverseLookupModelId(ids.model, callsign, log); const CAircraftModel modelFromDb = CAircraftMatcher::reverseLookupModelId(ids.model, callsign, log);
if (modelFromDb.hasValidDbKey()) if (modelFromDb.hasValidDbKey())
{ {
@@ -416,6 +419,7 @@ namespace BlackCore
// no direct resolution of model, try livery and aircraft ICAO // no direct resolution of model, try livery and aircraft ICAO
if (!modelToLookup.getAircraftIcaoCode().hasValidDbKey() && ids.aircraft >= 0) if (!modelToLookup.getAircraftIcaoCode().hasValidDbKey() && ids.aircraft >= 0)
{ {
if (log) { CMatchingUtils::addLogDetailsToList(log, callsign, QStringLiteral("Aircraft ICAO lookup with id %1 from triple ids '%2'").arg(ids.aircraft).arg(ids.toQString())); }
const CAircraftIcaoCode icaoFromDb = CAircraftMatcher::reverseLookupAircraftIcaoId(ids.aircraft, callsign, log); const CAircraftIcaoCode icaoFromDb = CAircraftMatcher::reverseLookupAircraftIcaoId(ids.aircraft, callsign, log);
if (icaoFromDb.hasValidDbKey()) if (icaoFromDb.hasValidDbKey())
{ {
@@ -425,6 +429,7 @@ namespace BlackCore
if (!modelToLookup.getLivery().hasValidDbKey() && ids.livery >= 0) if (!modelToLookup.getLivery().hasValidDbKey() && ids.livery >= 0)
{ {
if (log) { CMatchingUtils::addLogDetailsToList(log, callsign, QStringLiteral("Livery lookup with id %1 from triple ids '%2'").arg(ids.livery).arg(ids.toQString())); }
const CLivery liveryFromDb = CAircraftMatcher::reverseLookupLiveryId(ids.livery, callsign, log); const CLivery liveryFromDb = CAircraftMatcher::reverseLookupLiveryId(ids.livery, callsign, log);
if (liveryFromDb.hasValidDbKey()) if (liveryFromDb.hasValidDbKey())
{ {
@@ -489,13 +494,26 @@ namespace BlackCore
// if no DB livery yet, create own livery // if no DB livery yet, create own livery
if (!model.hasValidDbKey() && !model.getLivery().hasValidDbKey()) if (!model.hasValidDbKey() && !model.getLivery().hasValidDbKey())
{ {
// create a pseudo livery, try to find airline first
if (airlineIcaoCode.hasValidDesignator()) if (airlineIcaoCode.hasValidDesignator())
{ {
if (airlineIcaoCode.hasValidDbKey())
{
const CLivery stdLivery(sApp->getWebDataServices()->getStdLiveryForAirlineCode(airlineIcaoCode));
if (stdLivery.hasValidDbKey())
{
model.setLivery(stdLivery);
if (log) { CMatchingUtils::addLogDetailsToList(log, callsign, QStringLiteral("Set standardlivery `%1`").arg(stdLivery.getCombinedCodePlusInfo())); }
}
}
if (!model.getLivery().hasValidDbKey())
{
// create a pseudo livery, try to find airline first
const CLivery liveryDummy(CLivery::getStandardCode(airlineIcaoCode), airlineIcaoCode, "Generated"); const CLivery liveryDummy(CLivery::getStandardCode(airlineIcaoCode), airlineIcaoCode, "Generated");
model.setLivery(liveryDummy); model.setLivery(liveryDummy);
if (log) { CMatchingUtils::addLogDetailsToList(log, callsign, QStringLiteral("Generated livery, set livery `%1`").arg(liveryDummy.getCombinedCodePlusInfo())); } if (log) { CMatchingUtils::addLogDetailsToList(log, callsign, QStringLiteral("Generated livery, set livery `%1`").arg(liveryDummy.getCombinedCodePlusInfo())); }
} }
}
} // pseudo livery } // pseudo livery
} // livery from DB } // livery from DB
} }
@@ -1376,6 +1394,8 @@ namespace BlackCore
if ( if (
mode.testFlag(CAircraftMatcherSetup::ByAirlineGroupSameAsAirline) || mode.testFlag(CAircraftMatcherSetup::ByAirlineGroupSameAsAirline) ||
(outList.isEmpty() || mode.testFlag(CAircraftMatcherSetup::ByAirlineGroupIfNoAirline))) (outList.isEmpty() || mode.testFlag(CAircraftMatcherSetup::ByAirlineGroupIfNoAirline)))
{
if (remoteAircraft.getAirlineIcaoCode().hasGroupMembership())
{ {
const CAircraftModelList groupModels = inList.findByAirlineGroup(remoteAircraft.getAirlineIcaoCode()); const CAircraftModelList groupModels = inList.findByAirlineGroup(remoteAircraft.getAirlineIcaoCode());
outList.replaceOrAddModelsWithString(groupModels, Qt::CaseInsensitive); outList.replaceOrAddModelsWithString(groupModels, Qt::CaseInsensitive);
@@ -1388,6 +1408,11 @@ namespace BlackCore
getLogCategories()); getLogCategories());
} }
} }
else
{
}
}
if (outList.isEmpty()) if (outList.isEmpty())
{ {

View File

@@ -136,6 +136,9 @@ namespace BlackMisc
//! Group id //! Group id
void setGroupId(int id) { m_groupId = id; } void setGroupId(int id) { m_groupId = id; }
//! Are we a member of a group?
bool hasGroupMembership() const { return m_groupId >= 0 && !m_groupDesignator.isEmpty(); }
//! Virtual airline //! Virtual airline
bool isVirtualAirline() const { return m_isVa; } bool isVirtualAirline() const { return m_isVa; }

View File

@@ -60,6 +60,12 @@ namespace BlackMisc
{ {
return model >= 0 || livery >= 0 || aircraft >= 0; return model >= 0 || livery >= 0 || aircraft >= 0;
} }
//! Return as string
QString toQString() const
{
return QStringLiteral("Model: %1 Livery: %2 Aircraft: %3").arg(model).arg(livery).arg(aircraft);
}
}; };
//! Aircraft model (used by another pilot, my models on disk) //! Aircraft model (used by another pilot, my models on disk)