@@ -239,7 +239,7 class JRODataReader(JRODataIO, ProcessingUnit): | |||||
239 |
|
239 | |||
240 | nReadBlocks = 0 |
|
240 | nReadBlocks = 0 | |
241 |
|
241 | |||
242 |
delay = |
|
242 | delay = 10 #number of seconds waiting a new file | |
243 |
|
243 | |||
244 | nTries = 3 #quantity tries |
|
244 | nTries = 3 #quantity tries | |
245 |
|
245 | |||
@@ -524,7 +524,7 class JRODataReader(JRODataIO, ProcessingUnit): | |||||
524 | self.filename = file |
|
524 | self.filename = file | |
525 | self.flagIsNewFile = 1 |
|
525 | self.flagIsNewFile = 1 | |
526 | if self.fp != None: self.fp.close() |
|
526 | if self.fp != None: self.fp.close() | |
527 | self.fp = open(file) |
|
527 | self.fp = open(file, 'rb') | |
528 | self.flagNoMoreFiles = 0 |
|
528 | self.flagNoMoreFiles = 0 | |
529 | print 'Setting the file: %s' % file |
|
529 | print 'Setting the file: %s' % file | |
530 | else: |
|
530 | else: | |
@@ -554,6 +554,37 class JRODataReader(JRODataIO, ProcessingUnit): | |||||
554 | self.nReadBlocks = 0 |
|
554 | self.nReadBlocks = 0 | |
555 | return 1 |
|
555 | return 1 | |
556 |
|
556 | |||
|
557 | def __waitNewBlock(self): | |||
|
558 | #si es OnLine y ademas aun no se han leido un bloque completo entonces se espera por uno valido | |||
|
559 | if not self.online: | |||
|
560 | return 0 | |||
|
561 | ||||
|
562 | if (self.nReadBlocks >= self.processingHeaderObj.dataBlocksPerFile): | |||
|
563 | return 0 | |||
|
564 | ||||
|
565 | currentPointer = self.fp.tell() | |||
|
566 | ||||
|
567 | neededSize = self.processingHeaderObj.blockSize + self.basicHeaderSize | |||
|
568 | ||||
|
569 | for nTries in range( self.nTries ): | |||
|
570 | ||||
|
571 | self.fp.close() | |||
|
572 | self.fp = open( self.filename, 'rb' ) | |||
|
573 | self.fp.seek( currentPointer ) | |||
|
574 | ||||
|
575 | self.fileSize = os.path.getsize( self.filename ) | |||
|
576 | currentSize = self.fileSize - currentPointer | |||
|
577 | ||||
|
578 | if ( currentSize >= neededSize ): | |||
|
579 | self.__rdBasicHeader() | |||
|
580 | return 1 | |||
|
581 | ||||
|
582 | print "\tWaiting %0.2f seconds for the next block, try %03d ..." % (self.delay, nTries+1) | |||
|
583 | time.sleep( self.delay ) | |||
|
584 | ||||
|
585 | ||||
|
586 | return 0 | |||
|
587 | ||||
557 | def __setNewBlock(self): |
|
588 | def __setNewBlock(self): | |
558 | if self.fp == None: |
|
589 | if self.fp == None: | |
559 | return 0 |
|
590 | return 0 | |
@@ -568,6 +599,9 class JRODataReader(JRODataIO, ProcessingUnit): | |||||
568 | if (currentSize >= neededSize): |
|
599 | if (currentSize >= neededSize): | |
569 | self.__rdBasicHeader() |
|
600 | self.__rdBasicHeader() | |
570 | return 1 |
|
601 | return 1 | |
|
602 | ||||
|
603 | if self.__waitNewBlock(): | |||
|
604 | return 1 | |||
571 |
|
605 | |||
572 | if not(self.setNextFile()): |
|
606 | if not(self.setNextFile()): | |
573 | return 0 |
|
607 | return 0 |
General Comments 0
You need to be logged in to leave comments.
Login now