6.10.10.1.1. Post user methods

6.10.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]
    76: #line 123 "input_frame.ipk"
    77:   def post_methods(self):
    78:     # input frame methods
    79:     method_names = self.__class__.__dict__.keys()
    80:     is_begin_or_end_method = lambda x: x[:3]=='end' or x[:5]=='begin'
    81:     method_names = filter(is_begin_or_end_method, method_names)
    82:     method_names = method_names + [
    83:       'head','heading','push_head','pop_head','set_head',
    84:       'set_warning_character',
    85:       'doc','p','eop','cite_url',
    86:       'output','c_output','cpp_output',
    87:       'python_output','perl_output',
    88:       'interscript_output',
    89:       'push','pop','select','comment','resume_code',
    90:       'tangler_push','tangler_pop','tangler_set', # temporarily!
    91:       'untangle',
    92:       'weave','weave_line','tangle',
    93:       'print_identifier_cross_reference',
    94:       'print_contents',
    95:       'print_file_list',
    96:       'print_source_list',
    97:       'print_include_list',
    98:       'print_class_reference',
    99:       'print_file_status',
   100:       'get_weaver',
   101:       'table_row', 'table_rule',
   102:       'item',
   103:       'include_file','include_source',
   104:       'include_code','insert_code','display_code',
   105:       'include_html','html',
   106:       'capture_output','print_output',
   107:       'capture_python_output','print_python_output','print_python_test_output',
   108:       'set_weaver','get_weaver', 'push_weaver','pop_weaver',
   109:       'get_attribute',
   110:       'interscript_from_options',
   111:       'python','test_python',
   112:       'set_anchor','ref_anchor'
   113:       ]
   114:     for m in method_names:
   115:       exec 'self.userdict[m]=self.'+m
   116: 
   117:     # pass frame methods
   118:     method_names = [
   119:       'get_pass_frame'
   120:     ]
   121:     for m in method_names:
   122:       exec 'self.userdict[m]=self.pass_frame.'+m
   123: 
   124:     # processs frame methods
   125:     method_names = ['get_process_frame']
   126:     for m in method_names:
   127:       exec 'self.userdict[m]=self.process.'+m
   128: 
   129:     #master frame methods
   130:     method_names = ['get_master_frame']
   131:     for m in method_names:
   132:       exec 'self.userdict[m]=self.master.'+m
   133: 
End python section to interscript/frames/inputf.py[3]