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, eol, title): 10: w = named_file_sink(pass_frame,directory+basename+'.html', prefix, eol=eol) 11: if not title: title = basename 12: return html_weaver(pass_frame,w,title=title) 13: 14: def mk_web(pass_frame,basename, directory, prefix, eol, title): 15: w = named_file_sink(pass_frame,directory+basename+'.html', prefix, eol=eol) 16: w = html_weaver(pass_frame,w,title=title) 17: return stacking_weaver(w,basename+'_%s.html',(1,2,3,4,5,6,7,8,9,10)) 18: 19: def mk_latex(pass_frame,basename, directory, prefix, eol, title): 20: w = named_file_sink(pass_frame,directory+basename+'.tex', prefix) 21: if not title: title = basename 22: return latex_weaver(pass_frame,w, title=title) 23: 24: def mk_text(pass_frame,basename, directory, prefix, eol, title): 25: w = named_file_sink(pass_frame,directory+basename+'.txt', prefix) 26: if not title: title = basename 27: return plain_text_weaver(pass_frame,w, title=title) 28: 29: auto_weavers = { 30: 'html': mk_html, 31: 'web': mk_web, 32: 'latex': mk_latex, 33: 'text': mk_text 34: } 35: 36: def auto_weaver(pass_frame,basename,autoweave,title): 37: prefix = pass_frame.master.weaver_prefix 38: eol = pass_frame.master.html_eol 39: directory = pass_frame.master.weaver_directory 40: weavers = [] 41: for w in autoweave: 42: if auto_weavers.has_key(w): 43: weavers.append( auto_weavers[w](pass_frame, basename, directory, prefix, eol, title) ) 44: return multiplexor(pass_frame, weavers) 45: