From 5dd83a16c413985579636ff6176d785afca8b293 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sat, 14 Oct 2017 00:56:30 +0200 Subject: [PATCH] Ref T171, interpolation logger pattern functions --- .../simulation/interpolationlogger.cpp | 32 ++++++++++++++++--- .../simulation/interpolationlogger.h | 11 ++++++- 2 files changed, 37 insertions(+), 6 deletions(-) diff --git a/src/blackmisc/simulation/interpolationlogger.cpp b/src/blackmisc/simulation/interpolationlogger.cpp index 0a30063ce..693dfd3ce 100644 --- a/src/blackmisc/simulation/interpolationlogger.cpp +++ b/src/blackmisc/simulation/interpolationlogger.cpp @@ -63,13 +63,13 @@ namespace BlackMisc const QString logDir = CDirectoryUtils::logDirectory(); QDir logs(logDir); if (!logs.exists()) { return files; } - logs.setNameFilters(QStringList() << "*interpolation.html" << "*parts.html"); - const QStringList interpolations = logs.entryList(QStringList({"*interpolation.html"}), QDir::NoFilter, QDir::Time); + logs.setNameFilters(filePatterns()); + const QStringList interpolations = logs.entryList(QStringList({filePatternInterpolationLog()}), QDir::NoFilter, QDir::Time); if (!interpolations.isEmpty()) { files[0] = CFileUtils::appendFilePaths(logDir, interpolations.first()); } - const QStringList parts = logs.entryList(QStringList({"*parts.html"}), QDir::NoFilter, QDir::Time); + const QStringList parts = logs.entryList(QStringList({filePatternPartsLog()}), QDir::NoFilter, QDir::Time); if (!parts.isEmpty()) { files[1] = CFileUtils::appendFilePaths(logDir, parts.first()); @@ -93,7 +93,9 @@ namespace BlackMisc const QString htmlInterpolation = CInterpolationLogger::getHtmlInterpolationLog(interpolation); if (!htmlInterpolation.isEmpty()) { - const QString fn = CFileUtils::appendFilePaths(CDirectoryUtils::logDirectory(), QString("%1 interpolation.html").arg(ts)); + QString file = filePatternInterpolationLog(); + file.remove('*'); + const QString fn = CFileUtils::appendFilePaths(CDirectoryUtils::logDirectory(), QString("%1 %2").arg(ts, file)); const bool s = CFileUtils::writeStringToFile(htmlTemplate.arg(html.arg(interpolation.size()).arg(htmlInterpolation)), fn); msgs.push_back(CInterpolationLogger::logStatusFileWriting(s, fn)); } @@ -101,7 +103,9 @@ namespace BlackMisc const QString htmlParts = CInterpolationLogger::getHtmlPartsLog(parts); if (!htmlParts.isEmpty()) { - const QString fn = CFileUtils::appendFilePaths(CDirectoryUtils::logDirectory(), QString("%1 parts.html").arg(ts)); + QString file = filePatternPartsLog(); + file.remove('*'); + const QString fn = CFileUtils::appendFilePaths(CDirectoryUtils::logDirectory(), QString("%1 %2").arg(ts, file)); const bool s = CFileUtils::writeStringToFile(htmlTemplate.arg(html.arg(parts.size()).arg(htmlParts)), fn); msgs.push_back(CInterpolationLogger::logStatusFileWriting(s, fn)); } @@ -127,6 +131,24 @@ namespace BlackMisc m_partsLogs.append(parts); } + const QString &CInterpolationLogger::filePatternInterpolationLog() + { + static const QString p("*interpolation.html"); + return p; + } + + const QString &CInterpolationLogger::filePatternPartsLog() + { + static const QString p("*parts.html"); + return p; + } + + const QStringList &CInterpolationLogger::filePatterns() + { + static const QStringList l({ filePatternInterpolationLog(), filePatternPartsLog() }); + return l; + } + QString CInterpolationLogger::getHtmlInterpolationLog(const QList &logs) { if (logs.isEmpty()) { return {}; } diff --git a/src/blackmisc/simulation/interpolationlogger.h b/src/blackmisc/simulation/interpolationlogger.h index aff6fefb3..e7227898b 100644 --- a/src/blackmisc/simulation/interpolationlogger.h +++ b/src/blackmisc/simulation/interpolationlogger.h @@ -19,7 +19,7 @@ #include "blackmisc/simulation/remoteaircraftprovider.h" #include -#include +#include #include namespace BlackMisc @@ -88,6 +88,15 @@ namespace BlackMisc //! \threadsafe void logParts(const PartsLog &parts); + //! File pattern for interpolation log + static const QString &filePatternInterpolationLog(); + + //! File pattern for parts log + static const QString &filePatternPartsLog(); + + //! All log.file patterns + static const QStringList &filePatterns(); + private: //! Get log as HTML table static QString getHtmlInterpolationLog(const QList &logs);