6.13.10.1. The input frame

Note the horrid hack: the reg_list is a list of pairs, the second entry is a method which should be bound to this frame, but the frame isn't built yet. So the caller must pass an empty list, and populate it after the frame is constructed.

This has to be fixed.

Start python section to interscript/frames/inputf.py[2 /40 ] Next Prev Last
    57: #line 97 "input_frame.ipk"
    58: class input_frame:
    59: 
    60:   def __init__(self, pass_frame, src, reg_list, weaver, userdict, depth):
    61:     # the display
    62:     self.pass_frame = pass_frame
    63:     self.master = pass_frame.master
    64:     self.process = self.master.process
    65:     self.global_frame = self.process.global_frame
    66: 
    67:     self.current_weaver = weaver
    68:     self.current_weaver_stack = []
    69: 
    70:     self.depth = depth
    71:     self.source = src
    72:     self.userdict = userdict
    73:     self.reg_list = reg_list
    74:     self.read_buffer = []
    75: 
    76:     self.current_tangler_stack = []
    77:     self.current_tangler = None
    78:     self.line_offset = 0
    79:     self.original_filename = src.get_source_name()
    80:     self.original_count = self.line_offset
    81:     self.current_weaver.set_original_filename(self.original_filename)
    82:     self.head_offset = 0
    83:     self.verbosity = pass_frame.verbosity
    84:     self.tabwidth = self.master.tabwidth
    85: 
    86:     self.cont_re = re.compile('^$|^ (.*)$')
    87:     self.any_line_re = re.compile('^(.*)$')
    88: 
    89:     if self.verbosity>=6:
    90:       print 'initialising input frame',src.get_source_name()
    91:     self.post_methods()
    92: 
    93:   def __del__(self):
    94:     if self.verbosity>=6:
    95:       print 'frame',self.source.name,'deleting'
    96: 
End python section to interscript/frames/inputf.py[2]


6.13.10.1.1. Post user methods
6.13.10.1.2. close
6.13.10.1.3. Process file data