comparison python/ubc_utils.py @ 111:48e3de4acb65

corrected bugs in file copying functions and added utility to get concatenate feature numbers for a set of objects
author Nicolas Saunier <nico@confins.net>
date Fri, 15 Jul 2011 19:51:31 -0400
parents fae55a4c7a5a
children 41a5853ec495
comparison
equal deleted inserted replaced
110:fae55a4c7a5a 111:48e3de4acb65
83 '''Reads filenameIn, replaces the first line with the result of modifyLines and writes the result in filenameOut''' 83 '''Reads filenameIn, replaces the first line with the result of modifyLines and writes the result in filenameOut'''
84 #sortByNum(objects) 84 #sortByNum(objects)
85 fileIn = utils.openCheck(filenameIn, 'r', True) 85 fileIn = utils.openCheck(filenameIn, 'r', True)
86 fileOut = utils.openCheck(filenameOut, "w", True) 86 fileOut = utils.openCheck(filenameOut, "w", True)
87 87
88 lines = getLines(fileIn) 88 lines = utils.getLines(fileIn)
89 trajNum = 0 89 trajNum = 0
90 while (lines != []): 90 while (lines != []):
91 modifiedLines = modifyLines(trajNum, lines) 91 modifiedLines = modifyLines(trajNum, lines)
92 if modifiedLines: 92 if modifiedLines:
93 for l in modifiedLines: 93 for l in modifiedLines:
94 fileOut.write(l+"\n") 94 fileOut.write(l+"\n")
95 fileOut.write(utils.delimiterChar+"\n") 95 fileOut.write(utils.delimiterChar+"\n")
96 lines = getLines(fileIn) 96 lines = utils.getLines(fileIn)
97 trajNum += 1 97 trajNum += 1
98 98
99 fileIn.close() 99 fileIn.close()
100 fileOut.close() 100 fileOut.close()
101 101
103 '''Reads filenameIn, keeps the trajectories for which the function keepTrajectory(trajNum, lines) is True 103 '''Reads filenameIn, keeps the trajectories for which the function keepTrajectory(trajNum, lines) is True
104 and writes the result in filenameOut''' 104 and writes the result in filenameOut'''
105 fileIn = utils.openCheck(filenameIn, 'r', True) 105 fileIn = utils.openCheck(filenameIn, 'r', True)
106 fileOut = utils.openCheck(filenameOut, "w", True) 106 fileOut = utils.openCheck(filenameOut, "w", True)
107 107
108 lines = getLines(fileIn) 108 lines = utils.getLines(fileIn)
109 trajNum = 0 109 trajNum = 0
110 while (lines != []): 110 while (lines != []):
111 if keepTrajectory(trajNum, lines): 111 if keepTrajectory(trajNum, lines):
112 for l in modifiedLines: 112 for l in lines:
113 fileOut.write(l+"\n") 113 fileOut.write(l+"\n")
114 fileOut.write(utils.delimiterChar+"\n") 114 fileOut.write(utils.delimiterChar+"\n")
115 lines = getLines(fileIn) 115 lines = utils.getLines(fileIn)
116 trajNum += 1 116 trajNum += 1
117 117
118 fileIn.close() 118 fileIn.close()
119 fileOut.close() 119 fileOut.close()
120 120
161 lines = utils.getLines(file) 161 lines = utils.getLines(file)
162 162
163 file.close() 163 file.close()
164 return objects 164 return objects
165 165
166 def getFeatureNumbers(objects):
167 featureNumbers=[]
168 for o in objects:
169 featureNumbers += o.featureNumbers
170 return featureNumbers
171
166 def loadInteractions(filename, nInteractions = -1): 172 def loadInteractions(filename, nInteractions = -1):
167 'Loads interactions from the old UBC traffic event format' 173 'Loads interactions from the old UBC traffic event format'
168 from event import Interaction 174 from event import Interaction
169 from moving import SeverityIndicator 175 from moving import SeverityIndicator
170 file = utils.openCheck(filename) 176 file = utils.openCheck(filename)