#4603 Python: add case Id to exportSnapshots (#4604)

* #4603 Python: add case Id to exportSnapshots
* Fixup after review
This commit is contained in:
Gaute Lindkvist 2019-08-21 15:11:29 +02:00 committed by GitHub
parent a97066b2f2
commit 7bfe4f4bfe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 16 additions and 8 deletions

View File

@ -51,6 +51,7 @@ RicfExportSnapshots::RicfExportSnapshots()
{
RICF_InitField(&m_type, "type", RicfExportSnapshots::SnapshotsTypeEnum(), "Type", "", "", "");
RICF_InitField(&m_prefix, "prefix", QString(), "Prefix", "", "", "");
RICF_InitField(&m_caseId, "caseId", -1, "Case Id", "", "", "");
}
//--------------------------------------------------------------------------------------------------
@ -77,7 +78,7 @@ RicfCommandResponse RicfExportSnapshots::execute()
}
if (m_type == RicfExportSnapshots::VIEWS || m_type == RicfExportSnapshots::ALL)
{
RicSnapshotAllViewsToFileFeature::exportSnapshotOfAllViewsIntoFolder(absolutePathToSnapshotDir, m_prefix);
RicSnapshotAllViewsToFileFeature::exportSnapshotOfAllViewsIntoFolder(absolutePathToSnapshotDir, m_prefix, m_caseId());
}
if (m_type == RicfExportSnapshots::PLOTS || m_type == RicfExportSnapshots::ALL)
{

View File

@ -50,4 +50,5 @@ public:
private:
caf::PdmField<SnapshotsTypeEnum> m_type;
caf::PdmField<QString> m_prefix;
caf::PdmField<int> m_caseId;
};

View File

@ -68,9 +68,9 @@ void RicSnapshotAllViewsToFileFeature::saveAllViews()
}
//--------------------------------------------------------------------------------------------------
///
/// Export all snapshots of a given case (or caseId == -1 for all cases)
//--------------------------------------------------------------------------------------------------
void RicSnapshotAllViewsToFileFeature::exportSnapshotOfAllViewsIntoFolder(const QString& snapshotFolderName, const QString& prefix)
void RicSnapshotAllViewsToFileFeature::exportSnapshotOfAllViewsIntoFolder(const QString& snapshotFolderName, const QString& prefix /*= ""*/, int caseId /*= -1*/)
{
RimProject* project = RiaApplication::instance()->project();
@ -94,6 +94,9 @@ void RicSnapshotAllViewsToFileFeature::exportSnapshotOfAllViewsIntoFolder(const
RimCase* cas = projectCases[i];
if (!cas) continue;
bool matchingCaseId = caseId == -1 || caseId == cas->caseId();
if (!matchingCaseId) continue;
std::vector<Rim3dView*> views = cas->views();
for (size_t j = 0; j < views.size(); j++)

View File

@ -32,7 +32,7 @@ class RicSnapshotAllViewsToFileFeature : public caf::CmdFeature
public:
static void saveAllViews();
static void exportSnapshotOfAllViewsIntoFolder(const QString& snapshotFolderName, const QString& prefix = "");
static void exportSnapshotOfAllViewsIntoFolder(const QString& snapshotFolderName, const QString& prefix = "", int caseId = -1);
protected:
// Overrides

View File

@ -52,6 +52,7 @@ message ExportSnapshotsRequest
{
SnapshotType type = 1;
string prefix = 2;
int32 caseId = 3;
}
message ExportPropertyRequest

View File

@ -118,16 +118,18 @@ class Commands:
"""
return self.__execute(exportMultiCaseSnapshot=Cmd.ExportMultiCaseRequest(gridListFile=gridListFile))
def exportSnapshots(self, type = 'ALL', prefix=''):
def exportSnapshots(self, type = 'ALL', prefix='', caseId = -1):
""" Export snapshots of a given type
Arguments:
type (str): Enum string ('ALL', 'VIEWS' or 'PLOTS')
prefix (str): Exported file name prefix
caseId (int): the case Id to export for. The default of -1 will export all cases
"""
return self.__execute(exportSnapshots=Cmd.ExportSnapshotsRequest(type=type,
prefix=prefix))
prefix=prefix,
caseId=caseId))
def exportProperty(self, caseId, timeStep, property, eclipseKeyword=property, undefinedValue=0.0, exportFile=property):
""" Export an Eclipse property

View File

@ -35,9 +35,9 @@ for case in cases:
print(case.name, case.id, 'Number of timesteps: ' + str(len(timeSteps)))
print('Number of timesteps for snapshoting: ' + str(len(tss_snapshot)))
view = case.view(id = 0)
view = case.views()[0]
for property in property_list:
view.applyCellResult(resultType='DYNAMIC_NATIVE', resultVariable=property)
for ts_snapshot in tss_snapshot:
resInsight.commands.setTimeStep(caseId = case.id, timeStep = ts_snapshot)
resInsight.commands.exportSnapshots('VIEWS') # ALL, VIEWS or PLOTS default is 'ALL'
resInsight.commands.exportSnapshots(type='VIEWS', caseId=case.id) # ALL, VIEWS or PLOTS default is 'ALL'