System: Created a general basename cleanup function, and applied that when creating filenames from userdescription etc. Related to #1054 preparations

This commit is contained in:
Jacob Støren 2017-01-04 10:45:04 +01:00
parent 6d498cce98
commit 03cf09d90a
7 changed files with 44 additions and 23 deletions

View File

@ -2086,7 +2086,7 @@ void RiaApplication::saveSnapshotForAllViews(const QString& snapshotFolderName)
viewer->repaint(); viewer->repaint();
QString fileName = cas->caseUserDescription() + "-" + riv->name(); QString fileName = cas->caseUserDescription() + "-" + riv->name();
fileName.replace(" ", "_"); fileName = caf::Utils::makeValidFileBasename(fileName);
QString absoluteFileName = caf::Utils::constructFullFileName(absSnapshotPath, fileName, ".png"); QString absoluteFileName = caf::Utils::constructFullFileName(absSnapshotPath, fileName, ".png");

View File

@ -30,6 +30,7 @@
#include "RigMainGrid.h" #include "RigMainGrid.h"
#include "RigCaseData.h" #include "RigCaseData.h"
#include "QMessageBox" #include "QMessageBox"
#include "cafUtils.h"
CAF_CMD_SOURCE_INIT(RicExportFaultsFeature, "RicExportFaultsFeature"); CAF_CMD_SOURCE_INIT(RicExportFaultsFeature, "RicExportFaultsFeature");
@ -79,7 +80,7 @@ void RicExportFaultsFeature::onActionTriggered(bool isChecked)
if ( faultName == RimDefines::undefinedGridFaultWithInactiveName() ) faultName = "UNDEF_IA"; if ( faultName == RimDefines::undefinedGridFaultWithInactiveName() ) faultName = "UNDEF_IA";
QString baseFilename = "Fault_" + faultName + "_" + caseName; QString baseFilename = "Fault_" + faultName + "_" + caseName;
baseFilename.replace(" ", "_"); baseFilename = caf::Utils::makeValidFileBasename(baseFilename);
QString completeFilename = selectedDir + "/" + baseFilename + ".grdecl"; QString completeFilename = selectedDir + "/" + baseFilename + ".grdecl";

View File

@ -214,6 +214,7 @@ void RicExportMultipleSnapshotsFeature::exportViewVariationsToFolder(RimView* ri
QString resName = resultName(rimView); QString resName = resultName(rimView);
QString viewCaseResultString = rimCase->caseUserDescription() + "_" + rimView->name() + "_" + resName; QString viewCaseResultString = rimCase->caseUserDescription() + "_" + rimView->name() + "_" + resName;
viewCaseResultString = caf::Utils::makeValidFileBasename(viewCaseResultString);
for (int i = msd->timeStepStart(); i <= msd->timeStepEnd(); i++) for (int i = msd->timeStepStart(); i <= msd->timeStepEnd(); i++)
{ {
@ -235,7 +236,6 @@ void RicExportMultipleSnapshotsFeature::exportViewVariationsToFolder(RimView* ri
if (msd->sliceDirection == RimMultiSnapshotDefinition::NO_RANGEFILTER) if (msd->sliceDirection == RimMultiSnapshotDefinition::NO_RANGEFILTER)
{ {
QString fileName = viewCaseResultString + "_" + timeStepString; QString fileName = viewCaseResultString + "_" + timeStepString;
fileName.replace(" ", "-");
QString absoluteFileName = caf::Utils::constructFullFileName(folder, fileName, ".png"); QString absoluteFileName = caf::Utils::constructFullFileName(folder, fileName, ".png");
RicSnapshotViewToFileFeature::saveSnapshotAs(absoluteFileName, rimView); RicSnapshotViewToFileFeature::saveSnapshotAs(absoluteFileName, rimView);
@ -252,7 +252,6 @@ void RicExportMultipleSnapshotsFeature::exportViewVariationsToFolder(RimView* ri
{ {
QString rangeFilterString = msd->sliceDirection().text() + "-" + QString::number(i); QString rangeFilterString = msd->sliceDirection().text() + "-" + QString::number(i);
QString fileName = viewCaseResultString + "_" + timeStepString + "_" + rangeFilterString; QString fileName = viewCaseResultString + "_" + timeStepString + "_" + rangeFilterString;
fileName.replace(" ", "-");
rangeFilter->setDefaultValues(); rangeFilter->setDefaultValues();
if (msd->sliceDirection == RimMultiSnapshotDefinition::RANGEFILTER_I) if (msd->sliceDirection == RimMultiSnapshotDefinition::RANGEFILTER_I)
@ -293,7 +292,7 @@ QString RicExportMultipleSnapshotsFeature::resultName(RimView* rimView)
if (dynamic_cast<RimEclipseView*>(rimView)) if (dynamic_cast<RimEclipseView*>(rimView))
{ {
RimEclipseView* eclView = dynamic_cast<RimEclipseView*>(rimView); RimEclipseView* eclView = dynamic_cast<RimEclipseView*>(rimView);
return eclView->cellResult()->resultVariable(); return eclView->cellResult()->resultVariable();
} }
else if (dynamic_cast<RimGeoMechView*>(rimView)) else if (dynamic_cast<RimGeoMechView*>(rimView))

View File

@ -208,7 +208,7 @@ void RicSnapshotAllPlotsToFileFeature::createSnapshotOfAllPlotsInFolder(QString
if (wellLogPlot && wellLogPlot->viewWidget()) if (wellLogPlot && wellLogPlot->viewWidget())
{ {
QString fileName = wellLogPlot->description(); QString fileName = wellLogPlot->description();
fileName.replace(" ", "_"); fileName = caf::Utils::makeValidFileBasename(fileName);
QString absoluteFileName = caf::Utils::constructFullFileName(absSnapshotPath, fileName, ".png"); QString absoluteFileName = caf::Utils::constructFullFileName(absSnapshotPath, fileName, ".png");
@ -226,7 +226,7 @@ void RicSnapshotAllPlotsToFileFeature::createSnapshotOfAllPlotsInFolder(QString
if (summaryPlot && summaryPlot->viewWidget()) if (summaryPlot && summaryPlot->viewWidget())
{ {
QString fileName = summaryPlot->description(); QString fileName = summaryPlot->description();
fileName.replace(" ", "_"); fileName = caf::Utils::makeValidFileBasename(fileName);
QString absoluteFileName = caf::Utils::constructFullFileName(absSnapshotPath, fileName, ".png"); QString absoluteFileName = caf::Utils::constructFullFileName(absSnapshotPath, fileName, ".png");

View File

@ -24,6 +24,7 @@
#include "RimWellLogCurve.h" #include "RimWellLogCurve.h"
#include "RimWellLogExtractionCurve.h" #include "RimWellLogExtractionCurve.h"
#include "cafUtils.h"
#include "cvfAssert.h" #include "cvfAssert.h"
#include "laswell.hpp" #include "laswell.hpp"
@ -146,41 +147,34 @@ public:
std::string generateFilename() const std::string generateFilename() const
{ {
QString f; QString fileBasenameCandidate;
QString separator("-"); QString separator("-");
if (!m_wellName.isEmpty()) if (!m_wellName.isEmpty())
{ {
f += m_wellName; fileBasenameCandidate += m_wellName;
} }
if (!m_caseName.isEmpty()) if (!m_caseName.isEmpty())
{ {
if (!f.isEmpty()) f += separator; if (!fileBasenameCandidate.isEmpty()) fileBasenameCandidate += separator;
f += m_caseName; fileBasenameCandidate += m_caseName;
} }
// Add property name if only one curve is exported // Add property name if only one curve is exported
if (m_logCurveData.size() == 1) if (m_logCurveData.size() == 1)
{ {
if (!f.isEmpty()) f += separator; if (!fileBasenameCandidate.isEmpty()) fileBasenameCandidate += separator;
f += QString::fromStdString(m_logCurveData[0].channelName()); fileBasenameCandidate += QString::fromStdString(m_logCurveData[0].channelName());
} }
if (!m_date.isEmpty()) if (!m_date.isEmpty())
{ {
if (!f.isEmpty()) f += separator; if (!fileBasenameCandidate.isEmpty()) fileBasenameCandidate += separator;
f += m_date; fileBasenameCandidate += m_date;
} }
QString cleanFileName = f.trimmed(); QString cleanFileName = caf::Utils::makeValidFileBasename( fileBasenameCandidate);
cleanFileName.replace(".", "_");
cleanFileName.replace(",", "_");
cleanFileName.replace(":", "_");
cleanFileName.replace(";", "_");
cleanFileName.replace(" ", "_");
cleanFileName.replace("/", "_");
cleanFileName.replace(QRegExp("_+"), "_");
cleanFileName += ".las"; cleanFileName += ".las";

View File

@ -121,6 +121,32 @@ QString Utils::constructFullFileName(const QString& folder, const QString& baseF
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString Utils::makeValidFileBasename(const QString& fileBasenameCandidate)
{
QString cleanBasename = fileBasenameCandidate.trimmed();
cleanBasename.replace(".", "_");
cleanBasename.replace(",", "_");
cleanBasename.replace(":", "_");
cleanBasename.replace(";", "_");
cleanBasename.replace(" ", "_");
cleanBasename.replace("/", "_");
cleanBasename.replace("\\", "_");
cleanBasename.replace("<", "_");
cleanBasename.replace(">", "_");
cleanBasename.replace("\"", "_");
cleanBasename.replace("|", "_");
cleanBasename.replace("?", "_");
cleanBasename.replace("*", "_");
cleanBasename.replace(QRegExp("_+"), "_");
return cleanBasename;
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@ -56,6 +56,7 @@ public:
static QString absoluteFileName(const QString& fileName); static QString absoluteFileName(const QString& fileName);
static QStringList getFilesInDirectory(const QString& dirPath, const QString& filter, bool getAbsoluteFileNames); static QStringList getFilesInDirectory(const QString& dirPath, const QString& filter, bool getAbsoluteFileNames);
static QString constructFullFileName(const QString& folder, const QString& baseFileName, const QString& extension); static QString constructFullFileName(const QString& folder, const QString& baseFileName, const QString& extension);
static QString makeValidFileBasename(const QString& fileBasenameCandidate);
static QString indentString(int numSpacesToIndent, const QString& str); static QString indentString(int numSpacesToIndent, const QString& str);