1: #line 193 "weavers.ipk" 2: from interscript.weavers.multiplexor import multiplexor 3: from interscript.weavers.text import plain_text_weaver 4: from interscript.weavers.latex import latex_weaver 5: from interscript.weavers.html import html_weaver 6: from interscript.weavers.web import stacking_weaver 7: from interscript.drivers.sinks.bufdisk import named_file_sink 8: 9: def mk_html(pass_frame,basename, directory, prefix): 10: w = named_file_sink(pass_frame,directory+basename+'.html', prefix, eol='\r\n') 11: return html_weaver(pass_frame,w,title=basename) 12: 13: def mk_web(pass_frame,basename, directory, prefix): 14: w = named_file_sink(pass_frame,directory+basename+'.html', prefix, eol='\r\n') 15: w = html_weaver(pass_frame,w,title=basename) 16: return stacking_weaver(w,basename+'_%s.html',(1,2,3,4,5,6,7,8,9,10)) 17: 18: def mk_latex(pass_frame,basename, directory, prefix): 19: w = named_file_sink(pass_frame,directory+basename+'.tex', prefix) 20: return latex_weaver(pass_frame,w) 21: 22: def mk_text(pass_frame,basename, directory, prefix): 23: w = named_file_sink(pass_frame,directory+basename+'.txt', prefix) 24: return plain_text_weaver(pass_frame,w) 25: 26: auto_weavers = { 27: 'html': mk_html, 28: 'web': mk_web, 29: 'latex': mk_latex, 30: 'text': mk_text 31: } 32: 33: def auto_weaver(pass_frame,basename,autoweave): 34: prefix = pass_frame.master.weaver_prefix 35: directory = pass_frame.master.weaver_directory 36: weavers = [] 37: for w in autoweave: 38: if auto_weavers.has_key(w): 39: weavers.append( auto_weavers[w](pass_frame, basename, directory, prefix) ) 40: return multiplexor(pass_frame, weavers) 41: