@@ -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 = |
|
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 |
|
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=[ |
|
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 |
|
|
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= |
|
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 = |
|
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 |
|
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