472: #line 659 "input_frame.ipk"
473: def enqueue_input(self,file, count, line):
474: self.read_buffer.append((file,count,line))
475:
476: def dequeue_input(self):
477: data = self.read_buffer[0]
478: del self.read_buffer[0]
479: return data
480:
481:
482: def line(self, number, filename):
483: self.inpt.original_file = filename
484: self.inpt.line_offset = number - inpt.src.get_lines_read()
485:
486: def readline(self):
487: while 1:
488: if self.read_buffer:
489: return self.dequeue_input()
490: try:
491: line = self.source.readline()
492: self.real_filename = self.source.get_source_name()
493: self.real_count = self.source.get_lines_read()
494: self.original_count = self.real_count + self.line_offset
495: line = string.rstrip(line)
496: self.line = string.expandtabs(line,self.tabwidth)
497: return (self.original_filename,self.original_count,self.line)
498: except KeyboardInterrupt:
499:
500: self.process.update_files = 0
501: raise KeyboardInterrupt
502: except eof:
503: if self.verbosity>=4:
504: print 'readline: EOF'
505: self.line = None
506: raise eoi
507: else:
508: if self.process.verbosity>=1:
509: print 'program error in readline:',sys.exc_info()
510: self.process.update_files = 0
511: