#4540 Command line : Fix option --case without file extension

This commit is contained in:
Magne Sjaastad 2019-08-09 10:48:58 +02:00
parent 0bb84b22a5
commit 31f4453135
5 changed files with 42 additions and 15 deletions

View File

@ -257,9 +257,9 @@ RiaApplication::ApplicationStatus RiaConsoleApplication::handleArguments(cvf::Pr
if (cvf::Option o = progOpt->option("case"))
{
QStringList caseNames = cvfqt::Utils::toQStringList(o.values());
QStringList fileNames = RicImportGeneralDataFeature::fileNamesFromCaseNames(cvfqt::Utils::toQStringList(o.values()));
RicImportGeneralDataFeature::OpenCaseResults results =
RicImportGeneralDataFeature::openEclipseFilesFromFileNames(caseNames);
RicImportGeneralDataFeature::openEclipseFilesFromFileNames(fileNames);
}
if (cvf::Option o = progOpt->option("commandFile"))

View File

@ -774,9 +774,10 @@ RiaApplication::ApplicationStatus RiaGuiApplication::handleArguments(cvf::Progra
if (cvf::Option o = progOpt->option("case"))
{
QStringList caseNames = cvfqt::Utils::toQStringList(o.values());
QStringList fileNames = RicImportGeneralDataFeature::fileNamesFromCaseNames(cvfqt::Utils::toQStringList(o.values()));
RicImportGeneralDataFeature::OpenCaseResults results =
RicImportGeneralDataFeature::openEclipseFilesFromFileNames(caseNames);
RicImportGeneralDataFeature::openEclipseFilesFromFileNames(fileNames);
if (results && !results.eclipseSummaryFiles.empty())
{
getOrCreateAndShowMainPlotWindow();

View File

@ -19,7 +19,6 @@
#include "RiaArgumentParser.h"
#include "RiaApplication.h"
#include "RiaBaseDefs.h"
#include "RiaEclipseFileNameTools.h"
#include "RiaImportEclipseCaseTools.h"
#include "RiaLogging.h"
#include "RiaPreferences.h"

View File

@ -19,6 +19,7 @@
#include "RiaApplication.h"
#include "RiaDefines.h"
#include "RiaEclipseFileNameTools.h"
#include "RiaImportEclipseCaseTools.h"
#include "RiaLogging.h"
@ -40,7 +41,8 @@ CAF_CMD_SOURCE_INIT(RicImportGeneralDataFeature, "RicImportGeneralDataFeature");
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RicImportGeneralDataFeature::OpenCaseResults RicImportGeneralDataFeature::openEclipseFilesFromFileNames(const QStringList& fileNames)
RicImportGeneralDataFeature::OpenCaseResults
RicImportGeneralDataFeature::openEclipseFilesFromFileNames(const QStringList& fileNames)
{
CVF_ASSERT(!fileNames.empty());
@ -74,7 +76,7 @@ RicImportGeneralDataFeature::OpenCaseResults RicImportGeneralDataFeature::openEc
return OpenCaseResults();
}
results.eclipseCaseFiles = eclipseCaseFiles;
RiaApplication::instance()->setLastUsedDialogDirectory(defaultDirectoryLabel(ECLIPSE_EGRID_FILE), defaultDir);
RiaApplication::instance()->setLastUsedDialogDirectory(defaultDirectoryLabel(ECLIPSE_EGRID_FILE), defaultDir);
}
if (!eclipseInputFiles.empty())
{
@ -83,7 +85,7 @@ RicImportGeneralDataFeature::OpenCaseResults RicImportGeneralDataFeature::openEc
return OpenCaseResults();
}
results.eclipseInputFiles = eclipseInputFiles;
RiaApplication::instance()->setLastUsedDialogDirectory(defaultDirectoryLabel(ECLIPSE_INPUT_FILE), defaultDir);
RiaApplication::instance()->setLastUsedDialogDirectory(defaultDirectoryLabel(ECLIPSE_INPUT_FILE), defaultDir);
}
if (!eclipseSummaryFiles.empty())
{
@ -97,6 +99,30 @@ RicImportGeneralDataFeature::OpenCaseResults RicImportGeneralDataFeature::openEc
return results;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QStringList RicImportGeneralDataFeature::fileNamesFromCaseNames(const QStringList& caseNames)
{
QStringList fileNames;
{
for (const auto& caseName : caseNames)
{
if (caseName.lastIndexOf(".") != -1)
{
fileNames.push_back(caseName);
}
else
{
RiaEclipseFileNameTools nameTool(caseName);
QString filenameWithExtension = nameTool.findRelatedGridFile();
fileNames.push_back(filenameWithExtension);
}
}
}
return fileNames;
}
//--------------------------------------------------------------------------------------------------
///
@ -127,7 +153,7 @@ void RicImportGeneralDataFeature::setupActionLook(QAction* actionToSetup)
///
//--------------------------------------------------------------------------------------------------
void RicImportGeneralDataFeature::openFileDialog(ImportFileType fileTypes)
{
{
QString eclipseGridFilePattern("*.GRID");
QString eclipseEGridFilePattern("*.EGRID");
QString eclipseInputFilePattern("*.GRDECL");
@ -137,10 +163,10 @@ void RicImportGeneralDataFeature::openFileDialog(ImportFileType fileTypes)
if (fileTypes == ANY_ECLIPSE_FILE)
{
filePatternTexts += QString("Eclipse Files (%1 %2 %3 %4)")
.arg(eclipseGridFilePattern)
.arg(eclipseEGridFilePattern)
.arg(eclipseInputFilePattern)
.arg(eclipseSummaryFilePattern);
.arg(eclipseGridFilePattern)
.arg(eclipseEGridFilePattern)
.arg(eclipseInputFilePattern)
.arg(eclipseSummaryFilePattern);
}
if (fileTypes & ECLIPSE_GRID_FILE)
{
@ -160,7 +186,7 @@ void RicImportGeneralDataFeature::openFileDialog(ImportFileType fileTypes)
}
QString fullPattern = filePatternTexts.join(";;");
QString defaultDir = RiaApplication::instance()->lastUsedDialogDirectory(defaultDirectoryLabel(fileTypes));
QStringList fileNames =
@ -172,7 +198,7 @@ void RicImportGeneralDataFeature::openFileDialog(ImportFileType fileTypes)
{
RiaApplication::instance()->setLastUsedDialogDirectory(defaultDirectoryLabel(ANY_ECLIPSE_FILE), fileNames.front());
}
if (!openEclipseFilesFromFileNames(fileNames))
{
RiaLogging::error(QString("Failed to open file names: %1").arg(fileNames.join(", ")));

View File

@ -47,6 +47,7 @@ public:
};
static OpenCaseResults openEclipseFilesFromFileNames(const QStringList& fileNames);
static QStringList fileNamesFromCaseNames(const QStringList& caseNames);
protected: