##// END OF EJS Templates
last update
Alexander Valdez -
r615:712d29968c37
parent child
Show More
@@ -16,10 +16,6 from model.data.jroheaderIO import RadarControllerHeader, SystemHeader
16 from model.data.jrodata import Voltage
16 from model.data.jrodata import Voltage
17 from model.proc.jroproc_base import ProcessingUnit, Operation
17 from model.proc.jroproc_base import ProcessingUnit, Operation
18
18
19 try:
20 from gevent import sleep
21 except:
22 from time import sleep
23
19
24 def isNumber(str):
20 def isNumber(str):
25 """
21 """
@@ -40,10 +36,14 def isNumber(str):
40 except:
36 except:
41 return False
37 return False
42
38
43 def getFileFromSet(path, ext, set):
39 def getFileFromSet(path, ext, set=None):
44 validFilelist = []
40 validFilelist = []
45 fileList = os.listdir(path)
41 fileList = os.listdir(path)
46
42
43
44 if len(fileList) < 1:
45 return None
46
47 # 0 1234 567 89A BCDE
47 # 0 1234 567 89A BCDE
48 # H YYYY DDD SSS .ext
48 # H YYYY DDD SSS .ext
49
49
@@ -60,7 +60,24 def getFileFromSet(path, ext, set):
60 continue
60 continue
61
61
62 validFilelist.append(thisFile)
62 validFilelist.append(thisFile)
63 myfile = fnmatch.filter(validFilelist,'*%10.10d*'%(set))
63
64 if len(validFilelist) < 1:
65 return None
66
67 validFilelist = sorted( validFilelist, key=str.lower )
68
69 if set == None:
70 return validFilelist[-1]
71
72 print "set =" ,set
73 for thisFile in validFilelist:
74 if set <= int(thisFile[6:16]):
75 print thisFile,int(thisFile[6:16])
76 return thisFile
77
78 return validFilelist[-1]
79
80 myfile = fnmatch.filter(validFilelist,'*%10d*'%(set))
64 #myfile = fnmatch.filter(validFilelist,'*%4.4d%3.3d%3.3d*'%(year,doy,set))
81 #myfile = fnmatch.filter(validFilelist,'*%4.4d%3.3d%3.3d*'%(year,doy,set))
65
82
66 if len(myfile)!= 0:
83 if len(myfile)!= 0:
@@ -178,7 +195,7 class HFReader(ProcessingUnit):
178
195
179 self.flagNoMoreFiles= False
196 self.flagNoMoreFiles= False
180
197
181 self.__waitForNewFile = 1
198 self.__waitForNewFile = 20
182
199
183
200
184 #--------------------------------------------------
201 #--------------------------------------------------
@@ -335,42 +352,68 class HFReader(ProcessingUnit):
335 self.status=0
352 self.status=0
336 return None
353 return None
337 else:
354 else:
338 if self.set== None:
355 if self.set != None:
339 filename =getlastFileFromPath(self.path,self.ext)
356
340
357 filename=getFileFromSet(self.path,self.ext,self.set)
358
341 if self.flag_nextfile==True:
359 if self.flag_nextfile==True:
342 self.dirnameList=[filename]
360 self.dirnameList=[filename]
343 fullfilename=self.path+"/"+filename
361 fullfilename=self.path+"/"+filename
344 self.filenameList=[self.filenameList[-1]]
362 self.filenameList=[fullfilename]
345 self.filename_next_set=int(filename[6:16])+10
363 self.filename_next_set=int(filename[6:16])+10
346
364
347 self.flag_nextfile=False
365 self.flag_nextfile=False
348 else:
366 else:
349 if self.filename_next_set== int(filename[6:16]):
367 print filename
350 self.dirnameList=[filename]
368 print "PRIMERA CONDICION"
351 fullfilename=self.path+"/"+filename
369 #if self.filename_next_set== int(filename[6:16]):
352 self.filenameList=[self.filenameList[-1]]
370 print "TODO BIEN"
353 self.filename_next_set=int(filename[6:16])+10
371
354
372 if filename == None:
373 raise ValueError, "corregir"
374
375 self.dirnameList=[filename]
376 fullfilename=self.path+"/"+filename
377 self.filenameList=[fullfilename]
378 self.filename_next_set=int(filename[6:16])+10
379 print "Setting next file",self.filename_next_set
380 self.set=int(filename[6:16])
381 if True:
382 pass
355 else:
383 else:
356 set=self.filename_next_set
384 print "ESTOY AQUI PORQUE NO EXISTE EL SIGUIENTE ARCHIVO"
357 filename=getFileFromSet(self.path,self.ext,set=set)
358 self.filename_next_set=int(filename[6:16])+10
359 if filename==None:
360 filename =getlastFileFromPath(self.path,self.ext)
361 self.filename_next_set=int(filename[6:16])
362 self.dirnameList=[filename]
363 fullfilename=self.path+"/"+filename
364 self.filenameList=[self.filenameList[-1]]
365
385
366 else:
386 else:
367 try:
387 filename =getlastFileFromPath(self.path,self.ext)
368 filename=getFileFromSet(self.path,self.ext,self.set)
388
389 if self.flag_nextfile==True:
369 self.dirnameList=[filename]
390 self.dirnameList=[filename]
370 fullfilename=self.path+"/"+filename
391 fullfilename=self.path+"/"+filename
371 self.filenameList=[fullfilename]
372 except:
373 self.filenameList=[self.filenameList[-1]]
392 self.filenameList=[self.filenameList[-1]]
393 self.filename_next_set=int(filename[6:16])+10
394
395 self.flag_nextfile=False
396 else:
397 filename=getFileFromSet(self.path,self.ext,self.set)
398 print filename
399 print "PRIMERA CONDICION"
400 #if self.filename_next_set== int(filename[6:16]):
401 print "TODO BIEN"
402
403 if filename == None:
404 raise ValueError, "corregir"
405
406 self.dirnameList=[filename]
407 fullfilename=self.path+"/"+filename
408 self.filenameList=[fullfilename]
409 self.filename_next_set=int(filename[6:16])+10
410 print "Setting next file",self.filename_next_set
411 self.set=int(filename[6:16])
412 if True:
413 pass
414 else:
415 print "ESTOY AQUI PORQUE NO EXISTE EL SIGUIENTE ARCHIVO"
416
374
417
375
418
376 def __searchFilesOffline(self,
419 def __searchFilesOffline(self,
@@ -499,6 +542,7 class HFReader(ProcessingUnit):
499 def __setNextFileOnline(self):
542 def __setNextFileOnline(self):
500 """
543 """
501 """
544 """
545 print "SOY NONE",self.set
502 if self.set==None:
546 if self.set==None:
503 pass
547 pass
504 else:
548 else:
@@ -510,8 +554,9 class HFReader(ProcessingUnit):
510 filename = self.filenameList[0]
554 filename = self.filenameList[0]
511 while self.filename_online == filename:
555 while self.filename_online == filename:
512 print 'waiting %d seconds to get a new file...'%(self.__waitForNewFile)
556 print 'waiting %d seconds to get a new file...'%(self.__waitForNewFile)
513 sleep(self.__waitForNewFile)
557 time.sleep(self.__waitForNewFile)
514 #self.__findDataForDates(online=True)
558 #self.__findDataForDates(online=True)
559 self.set=self.filename_next_set
515 self.__selectDataForTimes(online=True)
560 self.__selectDataForTimes(online=True)
516 filename = self.filenameList[0]
561 filename = self.filenameList[0]
517 sizeoffile=os.path.getsize(filename)
562 sizeoffile=os.path.getsize(filename)
@@ -520,17 +565,21 class HFReader(ProcessingUnit):
520 sizeoffile=os.path.getsize(filename)
565 sizeoffile=os.path.getsize(filename)
521 if sizeoffile<1670240:
566 if sizeoffile<1670240:
522 print "%s is not the rigth size"%filename
567 print "%s is not the rigth size"%filename
523 delay=2
568 delay=50
524 print 'waiting %d seconds for delay...'%(delay)
569 print 'waiting %d seconds for delay...'%(delay)
525 sleep(delay)
570 time.sleep(delay)
571 sizeoffile=os.path.getsize(filename)
572 if sizeoffile<1670240:
573 delay=50
574 print 'waiting %d more seconds for delay...'%(delay)
575 time.sleep(delay)
576
526 sizeoffile=os.path.getsize(filename)
577 sizeoffile=os.path.getsize(filename)
527 if sizeoffile<1670240:
578 if sizeoffile<1670240:
528 delay
579 delay=50
529 print 'waiting %d more seconds for delay...'%(delay)
580 print 'waiting %d more seconds for delay...'%(delay)
530 sleep(delay)
581 time.sleep(delay)
531
582
532
533
534 try:
583 try:
535 hfFilePointer=h5py.File(filename,'r')
584 hfFilePointer=h5py.File(filename,'r')
536
585
@@ -708,7 +757,7 class HFReader(ProcessingUnit):
708
757
709 self.dataOut.utctime = None
758 self.dataOut.utctime = None
710
759
711 self.dataOut.timeZone = 0
760 self.dataOut.timeZone = self.timezone
712
761
713 self.dataOut.dstFlag = 0
762 self.dataOut.dstFlag = 0
714
763
@@ -796,7 +845,7 class HFReader(ProcessingUnit):
796 ##############################
845 ##############################
797 ##############################
846 ##############################
798 self.dataOut.data = self.datablock[:,:,self.profileIndex]
847 self.dataOut.data = self.datablock[:,:,self.profileIndex]
799 self.dataOut.utctime= self.__t0 + self.dataOut.ippSeconds*self.profileIndex+self.timezone
848 self.dataOut.utctime = self.__t0 + self.dataOut.ippSeconds*self.profileIndex
800 self.dataOut.profileIndex= self.profileIndex
849 self.dataOut.profileIndex= self.profileIndex
801 self.dataOut.flagNoData=False
850 self.dataOut.flagNoData=False
802 self.profileIndex +=1
851 self.profileIndex +=1
@@ -816,4 +865,4 class HFReader(ProcessingUnit):
816
865
817
866
818
867
819 No newline at end of file
868
General Comments 0
You need to be logged in to leave comments. Login now