6.13.10.1.1. Post user methods

This bit is very hacky! We grab bound methods from input frame and put them in the user dictionary.
Start python section to interscript/frames/inputf.py[3 /40 ] Next Prev Last
    97: #line 141 "input_frame.ipk"
    98:   def post_methods(self):
    99:     # input frame methods
   100:     method_names = self.__class__.__dict__.keys()
   101:     is_begin_or_end_method = lambda x: x[:3]=='end' or x[:5]=='begin'
   102:     method_names = filter(is_begin_or_end_method, method_names)
   103:     method_names = method_names + [
   104:       'head','heading','push_head','pop_head','set_head',
   105:       'line_break','page_break',
   106:       'set_warning_character',
   107:       'doc','p','eop','cite_url',
   108:       'data_output','c_output','cpp_output',
   109:       'python_output','perl_output',
   110:       'interscript_output',
   111:       'tangler',
   112:       'push','pop','select','comment','resume_code',
   113:       'tangler_push','tangler_pop','tangler_set', # temporarily!
   114:       'get_tangler',
   115:       'untangle',
   116:       'weave','weave_line','tangle',
   117:       'print_identifier_cross_reference',
   118:       'print_contents',
   119:       'print_file_list',
   120:       'print_source_list',
   121:       'print_include_list',
   122:       'print_class_reference',
   123:       'print_file_status',
   124:       'get_weaver',
   125:       'table_row', 'table_rule',
   126:       'item',
   127:       'include_file','include_source',
   128:       'include_code','insert_code','display_code',
   129:       'sink_verbatim','expand','define',
   130:       'include_html','html',
   131:       'capture_output','print_output',
   132:       'capture_python_output','print_python_output',
   133:       'print_python_test_output',
   134:       'set_weaver','get_weaver', 'push_weaver','pop_weaver',
   135:       'get_attribute',
   136:       'interscript_from_options',
   137:       'test_interscript',
   138:       'python','test_python',
   139:       'register_test','set_test_result',
   140:       'set_anchor','ref_anchor'
   141:       ]
   142:     for m in method_names:
   143:       exec 'self.userdict[m]=self.'+m
   144: 
   145:     # pass frame methods
   146:     method_names = [
   147:       'get_pass_frame'
   148:     ]
   149:     for m in method_names:
   150:       exec 'self.userdict[m]=self.pass_frame.'+m
   151: 
   152:     # processs frame methods
   153:     method_names = ['get_process_frame']
   154:     for m in method_names:
   155:       exec 'self.userdict[m]=self.process.'+m
   156: 
   157:     #master frame methods
   158:     method_names = ['get_master_frame']
   159:     for m in method_names:
   160:       exec 'self.userdict[m]=self.master.'+m
   161: 
   162:     #functions (non methods)
   163:     # NOTE: most functions are made available thru the global frame!
   164:     function_names = []
   165:     for f in function_names:
   166:       exec 'self.userdict[f]='+f
   167: 
End python section to interscript/frames/inputf.py[3]