6.12.2. Argument Frame

6.12.2. Argument Frame

Just an empty class to hook attributes to.
Start python section to interscript/getframes.py[3]
    83: #line 101 "interscript_options.ipk"
    84: class argument_frame:
    85:   def copy(self):
    86:      other = argument_frame()
    87:      other.__dict__ = self.__dict__.copy()
    88:      return other
    89: 
    90: def getoption_frames(args): # note: has side effects!
    91:   parsed =  getopt(args)
    92:   process_options = argument_frame()
    93:   process_options.verbosity = 2
    94:   master_frames = []
    95: 
    96:   frame = argument_frame()
    97:   frame.echo_input = 0
    98:   frame.update_files = 1
    99:   frame.tabwidth = 8
   100:   frame.verbosity = 2
   101:   frame.download = 'regularly'
   102:   frame.refresh_interval = 28
   103:   frame.passes = 1
   104:   frame.weaver_prefix = ''
   105:   frame.tangler_prefix = ''
   106:   frame.weaver_directory= ''
   107:   frame.tangler_directory = ''
   108:   frame.source_prefix = ''
   109:   frame.autoweave = []
   110:   frame.useropt = {}
   111: 
   112:   for opts,filename in parsed:
   113:     for opt,value in opts:
   114:       try:
   115:         if opt == 'verbosity': process_options.verbosity = frame.verbosity = int(value)
   116:         elif opt == 'echo_input': frame.echo_input = int(value)
   117:         elif opt == 'v': process_options.verbosity = frame.verbosity = 6
   118:         elif opt == 'noupdate': frame.update_files = 0
   119:         elif opt == 'nodownload': frame.download = 'never'
   120:         elif opt == 'download': frame.download = 'always'
   121:         elif opt == 'tabwidth': frame.tabwidth = int(value)
   122:         elif opt == 'passes': frame.passes = int(value)
   123:         elif opt == 'weaver': frame.autoweave.append(value)
   124:         elif opt == 'weaver-prefix': frame.weaver_prefix = value
   125:         elif opt == 'tangler-prefix': frame.tangler_prefix = value
   126:         elif opt == 'weaver-directory': frame.weaver_directory = value
   127:         elif opt == 'tangler-directory': frame.tangler_directory = value
   128:         elif opt == 'source-prefix': frame.source_prefix = value
   129:         elif opt == 'python':
   130:           try:
   131:             if process_options.verbosity>=3:
   132:               print 'Executing python:'
   133:               print value
   134:             exec value
   135:           except:
   136:             print 'Error in python option'
   137:             traceback.print_exc()
   138:         elif opt == 'logfile':
   139:           oldsysout = sys.stdout
   140:           sys.stdout = open(value,'a')
   141:         elif opt in ['help', 'usage']:
   142:           print_help()
   143:           print
   144:         else:
   145:           # FIX: all options should be OK (user options?)
   146:           print 'Nonstandard option',opt,'value',value,'accepted as user option'
   147:           frame.useropt[opt]=value
   148:         if process_options.verbosity>=4: print 'Option:',opt,value
   149:       except:
   150:         print 'Warning: Option',opt,'has bad value',value
   151:         prefix = ''
   152:         while opt[0]=='-': prefix = prefix + '-'; opt=opt[1:]
   153:         print_help1(opt)
   154: 
   155:     frame.filename = filename
   156:     master_frames.append(frame.copy())
   157:   return process_options, master_frames
   158: 
   159: 
End python section to interscript/getframes.py[3]