mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
49 lines
1.4 KiB
Python
49 lines
1.4 KiB
Python
import grpc
|
|
import os
|
|
import sys
|
|
from .PdmObject import PdmObject
|
|
from .View import View
|
|
|
|
sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'generated'))
|
|
|
|
import PdmObject_pb2
|
|
|
|
class GridCaseGroup (PdmObject):
|
|
"""ResInsight Grid Case Group class
|
|
|
|
Operate on a ResInsight case group specified by a Case Group Id integer.
|
|
|
|
Attributes:
|
|
id (int): Grid Case Group Id corresponding to case group Id in ResInsight project.
|
|
name (str): Case name
|
|
"""
|
|
def __init__(self, pdmObject):
|
|
self.groupId = pdmObject.getValue("GroupId")
|
|
PdmObject.__init__(self, pdmObject.pb2Object, pdmObject.channel)
|
|
|
|
def statisticsCases(self):
|
|
statCaseCollection = self.children("StatisticsCaseCollection")[0]
|
|
return statCaseCollection.children("Reservoirs")
|
|
|
|
def views(self):
|
|
"""Get a list of views belonging to a grid case group"""
|
|
pbmObjects = self.descendants("ReservoirView")
|
|
viewList = []
|
|
for pbmObject in pbmObjects:
|
|
viewList.append(View(pbmObject))
|
|
return viewList
|
|
|
|
def view(self, id):
|
|
"""Get a particular view belonging to a case group by providing view id
|
|
Arguments:
|
|
id(int): view id
|
|
|
|
Returns: a view object
|
|
|
|
"""
|
|
views = self.views()
|
|
for viewObject in views:
|
|
if viewObject.id == id:
|
|
return viewObject
|
|
return None
|