351: #line 528 "input_frame.ipk" 352: def enqueue_input(self,file, count, line): 353: self.read_buffer.append((file,count,line)) 354: 355: def dequeue_input(self): 356: data = self.read_buffer[0] 357: del self.read_buffer[0] 358: return data 359: 360: def line(self, number, filename): 361: self.inpt.original_file = filename 362: self.inpt.line_offset = number - inpt.src.get_lines_read() 363: 364: def readline(self): 365: while 1: 366: if self.read_buffer: 367: return self.dequeue_input() 368: try: 369: line = self.source.readline() 370: self.real_filename = self.source.get_source_name() 371: self.real_count = self.source.get_lines_read() 372: self.original_count = self.real_count + self.line_offset 373: line = string.rstrip(line) 374: self.line = string.expandtabs(line,self.tabwidth) 375: return (self.original_filename,self.original_count,self.line) 376: except KeyboardInterrupt: 377: # should inhibit output for process, not globally 378: self.process.update_files = 0 379: raise KeyboardInterrupt 380: except eof: 381: if self.verbosity>=4: 382: print 'readline: EOF' 383: self.line = None 384: raise eoi 385: else: 386: if self.process.verbosity>=1: 387: print 'program error in readline:',sys.exc_info() 388: self.process.update_files = 0 389: