Skip to content

Commit

Permalink
make the visitreader to work with any dumpreader
Browse files Browse the repository at this point in the history
The Visitreader stores the information about the dumpreader class that
should be used to read the dumps. This will allow to read full
Simulations via visitfiles written by different codes simultaneously.
  • Loading branch information
skuschel committed Sep 25, 2014
1 parent 9aa20e6 commit 932a9bf
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 7 deletions.
4 changes: 2 additions & 2 deletions postpic/datareader/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -221,12 +221,12 @@ def __getitem__(self, key):
key += len(self)
if key >= len(self):
raise IndexError("The index (%d) is out of range." % key)
return self.getDumpnumber(key)
return self.getDumpreader(key)
else:
raise TypeError("Invalid argument type.")

@abc.abstractmethod
def getDumpnumber(self, number):
def getDumpreader(self, number):
'''
:returns: the corresponding Dumpreader.
'''
Expand Down
2 changes: 1 addition & 1 deletion postpic/datareader/dummy.py
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ def __init__(self, simidentifier, dimensions=2, **kwargs):
def __len__(self):
return self.simidentifier

def getDumpnumber(self, index):
def getDumpreader(self, index):
if index < len(self):
return Dummyreader(index, dimensions=self._dimensions)
else:
Expand Down
8 changes: 4 additions & 4 deletions postpic/datareader/epochsdf.py
Original file line number Diff line number Diff line change
Expand Up @@ -145,9 +145,10 @@ class Visitreader(Simulationreader_ifc):
any other code using these files.
'''

def __init__(self, visitfile, **kwargs):
def __init__(self, visitfile, dumpreadercls=Sdfreader, **kwargs):
super(self.__class__, self).__init__(visitfile, **kwargs)
self.visitfile = visitfile
self.dumpreadercls = dumpreadercls
import os.path
if not os.path.isfile(visitfile):
raise IOError('File "' + str(visitfile) + '" doesnt exist.')
Expand All @@ -161,9 +162,8 @@ def __init__(self, visitfile, **kwargs):
def __len__(self):
return len(self._dumpfiles)

def getDumpnumber(self, index):
from . import readDump
return readDump(self._dumpfiles[index])
def getDumpreader(self, index):
return self.dumpreadercls(self._dumpfiles[index])

def __str__(self):
return '<Visitreader at "' + self.visitfile + '">'
Expand Down

0 comments on commit 932a9bf

Please sign in to comment.