RoseFE_SourceProcessing
changeset 532:b9c7d381110e
fixed issue with output format not being reset for every file with separateOutput option
| author | hcm@serenity |
|---|---|
| date | Tue Dec 01 12:19:08 2009 -0600 (2009-12-01) |
| parents | 06b9b7f3d4dc |
| children | ed173da6b09f |
| files | PP/unitPostProcess.py postProcess.py |
line diff
1.1 --- a/PP/unitPostProcess.py Tue Dec 01 11:18:59 2009 -0600 1.2 +++ b/PP/unitPostProcess.py Tue Dec 01 12:19:08 2009 -0600 1.3 @@ -9,7 +9,7 @@ 1.4 import PyFort.intrinsic as intrinsic 1.5 from PyFort.fortUnit import fortUnitIterator 1.6 from PP.templateExpansion import * 1.7 -from PyFort.flow import setOutputFormat, outputFormat 1.8 +import PyFort.flow as flow 1.9 from PyFort.fortFile import Ffile 1.10 import re 1.11 import copy 1.12 @@ -807,15 +807,15 @@ 1.13 1.14 # write all declarations to _activeVariablesFileName 1.15 if (UnitPostProcessor._activeVariablesFileName): 1.16 - currentOutputFormat = outputFormat 1.17 + currentOutputFormat = flow.outputFormat 1.18 (base,activeOutputFormat) = os.path.splitext(UnitPostProcessor._activeVariablesFileName) 1.19 # set active variables file output format 1.20 - setOutputFormat(Ffile.get_format(activeOutputFormat)) 1.21 + flow.setOutputFormat(Ffile.get_format(activeOutputFormat)) 1.22 self.__active_file = open(UnitPostProcessor._activeVariablesFileName,'a') 1.23 self.__myUnit.printDecls(self.__active_file) 1.24 self.__active_file.close() 1.25 # restore original output format 1.26 - setOutputFormat(currentOutputFormat) 1.27 + flow.setOutputFormat(currentOutputFormat) 1.28 1.29 if (self.__recursionDepth is not 0): 1.30 raise PostProcessError('Recursion error in unitPostProcess: final recursion depth is not zero')
2.1 --- a/postProcess.py Tue Dec 01 11:18:59 2009 -0600 2.2 +++ b/postProcess.py Tue Dec 01 12:19:08 2009 -0600 2.3 @@ -18,6 +18,7 @@ 2.4 from PyIR.prog1 import Prog1 2.5 2.6 from PyFort.flow import setOutputLineLength, setInputLineLength, setOutputFormat 2.7 +import PyFort.flow as flow 2.8 from PyFort.fortUnit import Unit,fortUnitIterator 2.9 from PyFort.fortFile import Ffile 2.10 import PyFort.fortExp as fe 2.11 @@ -197,11 +198,12 @@ 2.12 if config.output: 2.13 ext = os.path.splitext(config.output)[1] 2.14 config.outputFormat = Ffile.get_format(ext) 2.15 - else: 2.16 + setOutputFormat(config.outputFormat) 2.17 + elif not config.separateOutput: 2.18 config.outputFormat = config.inputFormat 2.19 + setOutputFormat(config.outputFormat) 2.20 elif (config.outputFormat<>'fixed') and (config.outputFormat<>'free'): 2.21 opt.error("outputFormat option must be specified with either 'fixed' or 'free' as an argument") 2.22 - setOutputFormat(config.outputFormat) 2.23 2.24 if config.inputLineLength: 2.25 if config.inputLineLength < 72 or \ 2.26 @@ -292,6 +294,9 @@ 2.27 # SEPARATE OUTPUT INTO FILES AS SPECIFIED BY PRAGMAS 2.28 elif config.separateOutput: 2.29 out = None 2.30 + setFormat = False 2.31 + if config.outputFormat == None: 2.32 + setFormat = True 2.33 for aUnit in fortUnitIterator(inputFile,config.inputFormat): 2.34 # We expect to find file pragmas in the cmnt section of units exclusively 2.35 if aUnit.cmnt: 2.36 @@ -304,11 +309,9 @@ 2.37 outputDirectory = config.pathPrefix+head+config.pathSuffix 2.38 if not os.path.exists(outputDirectory): os.makedirs(outputDirectory) 2.39 newOutputFile = os.path.join(outputDirectory,fileName+config.filenameSuffix+fileExtension) 2.40 - if config.outputFormat == None: 2.41 + if setFormat: 2.42 config.outputFormat = Ffile.get_format(fileExtension) 2.43 - elif (config.outputFormat<>'fixed') and (config.outputFormat<>'free'): 2.44 - opt.error("outputFormat option must be specified with either 'fixed' or 'free' as an argument") 2.45 - setOutputFormat(config.outputFormat) 2.46 + setOutputFormat(config.outputFormat) 2.47 outFileNameList.append(newOutputFile) 2.48 out = open(newOutputFile,'w') 2.49 elif not out:
