6.19.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 /42 ] Next Prev First Last
    99: #line 143 "input_frame.ipk"
   100:   def post_methods(self):
   101:     # input frame methods
   102:     self.userdict.update(self.process.global_frame.__dict__)
   103:     method_names = self.__class__.__dict__.keys()
   104:     is_begin_or_end_method = lambda x: x[:3]=='end' or x[:5]=='begin'
   105:     method_names = filter(is_begin_or_end_method, method_names)
   106:     method_names = method_names + [
   107:       'head','heading','push_head','pop_head','set_head',
   108:       'line_break','page_break',
   109:       'set_warning_character',
   110:       'doc','p','eop','cite_url',
   111:       'data_output','c_output','cpp_output',
   112:       'python_output','perl_output',
   113:       'interscript_output',
   114:       'tangler',
   115:       'push','pop','select','comment','resume_code',
   116:       'tangler_push','tangler_pop','tangler_set', # temporarily!
   117:       'get_tangler',
   118:       'untangle',
   119:       'weave','weave_line','tangle','sink_line',
   120:       'print_identifier_cross_reference',
   121:       'print_contents',
   122:       'print_file_list',
   123:       'print_source_list',
   124:       'print_include_list',
   125:       'print_class_reference',
   126:       'print_file_status',
   127:       'get_weaver',
   128:       'raw_if','enable','enable_if','disable',
   129:       'get_input_frame',
   130:       'table_row', 'table_rule',
   131:       'begin_table_row','end_table_row',
   132:       'begin_table_cell','end_table_cell',
   133:       'item',
   134:       'include_file','include_source',
   135:       'include_code','insert_code','display_code',
   136:       'sink_verbatim','expand','define',
   137:       'include_html','html',
   138:       'capture_output','print_output',
   139:       'capture_python_output','print_python_output',
   140:       'print_python_test_output',
   141:       'set_weaver','get_weaver', 'push_weaver','pop_weaver',
   142:       'get_attribute',
   143:       'interscript_from_options',
   144:       'test_interscript',
   145:       'python','test_python',
   146:       'register_test','set_test_result',
   147:       'set_anchor','ref_anchor',
   148:       'post_notice',
   149:       'skip_upto','skip_upto_if',
   150:       'set_encoding','get_encoding',
   151:       'help', 'weave_help'
   152:       ]
   153:     for m in method_names:
   154:       self.userdict[m]=eval('self.'+m)
   155: 
   156:     # pass frame methods
   157:     pass_frame_method_names = [
   158:       'get_pass_frame'
   159:     ]
   160:     for m in pass_frame_method_names:
   161:       self.userdict[m]=eval('self.pass_frame.'+m)
   162: 
   163:     # processs frame methods
   164:     process_frame_method_names = ['get_process_frame']
   165:     for m in process_frame_method_names:
   166:       self.userdict[m]=eval('self.process.'+m)
   167: 
   168:     #master frame methods
   169:     mastrer_frame_method_names = [
   170:       'get_master_frame',
   171:       'set_title', 'get_title',
   172:       'add_author',
   173:       'set_native_language','get_native_language',
   174:       'set_document_data', 'get_document_data']
   175:     for m in mastrer_frame_method_names:
   176:       self.userdict[m]=eval('self.master.'+m)
   177: 
   178:     #functions (non methods)
   179:     # NOTE: most functions are made available thru the global frame!
   180:     function_names = []
   181:     for f in function_names:
   182:       self.userdict[f]=eval(f)
   183: 
End python section to interscript/frames/inputf.py[3]