Skip to content
Snippets Groups Projects
Commit da34149c authored by Andre Sailer's avatar Andre Sailer
Browse files

DDSim: add checking that files exists to input argument parsing

parent 87757a38
No related branches found
No related tags found
No related merge requests found
...@@ -223,8 +223,10 @@ class DD4hepSimulation(object): ...@@ -223,8 +223,10 @@ class DD4hepSimulation(object):
self._dumpSteeringFile = parsed.dumpSteeringFile self._dumpSteeringFile = parsed.dumpSteeringFile
self.compactFile = ConfigHelper.makeList(parsed.compactFile) self.compactFile = ConfigHelper.makeList(parsed.compactFile)
self.__checkFilesExist(self.compactFile, fileType='compact')
self.inputFiles = parsed.inputFiles self.inputFiles = parsed.inputFiles
self.inputFiles = self.__checkFileFormat(self.inputFiles, POSSIBLEINPUTFILES) self.inputFiles = self.__checkFileFormat(self.inputFiles, POSSIBLEINPUTFILES)
self.__checkFilesExist(self.inputFiles, fileType='input')
self.outputFile = parsed.outputFile self.outputFile = parsed.outputFile
self.__checkFileFormat(self.outputFile, ('.root', '.slcio')) self.__checkFileFormat(self.outputFile, ('.root', '.slcio'))
self.runType = parsed.runType self.runType = parsed.runType
...@@ -539,6 +541,19 @@ class DD4hepSimulation(object): ...@@ -539,6 +541,19 @@ class DD4hepSimulation(object):
field.delta_one_step = self.field.delta_one_step field.delta_one_step = self.field.delta_one_step
field.largest_step = self.field.largest_step field.largest_step = self.field.largest_step
def __checkFilesExist(self, fileNames, fileType=''):
"""Make sure all files in the given list exist, add to errorMessage otherwise.
:param list fileNames: list of files to check for existence
:param str fileType: type if file, for nicer error message
"""
if isinstance(fileNames, str):
fileNames = [fileNames]
for fileName in fileNames:
if not os.path.exists(fileName):
self._errorMessages.append(f"ERROR: The {fileType}file '{fileName}' does not exist")
def __checkFileFormat(self, fileNames, extensions): def __checkFileFormat(self, fileNames, extensions):
"""check if the fileName is allowed, note that the filenames are case """check if the fileName is allowed, note that the filenames are case
sensitive, and in case of hepevt we depend on this to identify short and long versions of the content sensitive, and in case of hepevt we depend on this to identify short and long versions of the content
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment