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: