##// END OF EJS Templates
Problems setting and reading Header size
Miguel Valdez -
r728:e878c6835775
parent child
Show More
@@ -88,9 +88,18 class Header(object):
88 88 message += self.__class__.__name__.upper() + "\n"
89 89 message += "#"*50 + "\n"
90 90
91 for key in self.__dict__.keys():
91 keyList = self.__dict__.keys()
92 keyList.sort()
93
94 for key in keyList:
92 95 message += "%s = %s" %(key, self.__dict__[key]) + "\n"
96
97 if "size" not in keyList:
98 attr = getattr(self, "size")
93 99
100 if attr:
101 message += "%s = %s" %("size", attr) + "\n"
102
94 103 print message
95 104
96 105 class BasicHeader(Header):
@@ -190,7 +199,7 class SystemHeader(Header):
190 199 try:
191 200 header = numpy.fromfile(fp,SYSTEM_STRUCTURE,1)
192 201 except Exception, e:
193 print "SystemHeader: " + e
202 print "System Header: " + e
194 203 return 0
195 204
196 205 self.size = header['nSize'][0]
@@ -202,10 +211,13 class SystemHeader(Header):
202 211
203 212 endFp = self.size + startFp
204 213
205 if fp.tell() != endFp:
206 print "System Header is not consistent"
214 if fp.tell() > endFp:
215 sys.stderr.write("Warning: System header size is lower than it has to be")
207 216 return 0
208 217
218 if fp.tell() < endFp:
219 sys.stderr.write("Warning: System header size is greater than it is considered")
220
209 221 return 1
210 222
211 223 def write(self, fp):
@@ -218,7 +230,6 class SystemHeader(Header):
218 230
219 231 class RadarControllerHeader(Header):
220 232
221 size = None
222 233 expType = None
223 234 nTx = None
224 235 ipp = None
@@ -246,7 +257,7 class RadarControllerHeader(Header):
246 257 codeType=0, nCode=0, nBaud=0, code=None,
247 258 flip1=0, flip2=0):
248 259
249 self.size = 116
260 # self.size = 116
250 261 self.expType = expType
251 262 self.nTx = nTx
252 263 self.ipp = ippKm
@@ -346,7 +357,15 class RadarControllerHeader(Header):
346 357 # fp.seek(endFp)
347 358 print "Radar Controller Header is not consistent read[%d] != header[%d]" %(fp.tell()-startFp,endFp)
348 359 # return 0
349
360
361 if fp.tell() > endFp:
362 sys.stderr.write("Warning: Radar Controller header size is lower than it has to be")
363 # return 0
364
365 if fp.tell() < endFp:
366 sys.stderr.write("Warning: Radar Controller header size is greater than it is considered")
367
368
350 369 return 1
351 370
352 371 def write(self, fp):
@@ -435,7 +454,7 class RadarControllerHeader(Header):
435 454
436 455 def set_size(self, value):
437 456
438 self.__size = value
457 raise IOError, "size is a property and it cannot be set, just read"
439 458
440 459 return
441 460
@@ -562,9 +581,12 class ProcessingHeader(Header):
562 581
563 582 endFp = size + startFp
564 583
565 if fp.tell() != endFp:
566 print "Processing Header is not consistent"
584 if fp.tell() > endFp:
585 sys.stderr.write("Warning: Processing header size is lower than it has to be")
567 586 return 0
587
588 if fp.tell() < endFp:
589 sys.stderr.write("Warning: Processing header size is greater than it is considered")
568 590
569 591 return 1
570 592
@@ -621,7 +643,7 class ProcessingHeader(Header):
621 643
622 644 def set_size(self, value):
623 645
624 self.__size = value
646 raise IOError, "size is a property and it cannot be set, just read"
625 647
626 648 return
627 649
General Comments 0
You need to be logged in to leave comments. Login now