;ς )δHEc@sodkZdkZdkZdkZdkZdkZdkZdklZde fd„ƒYZ d„Z dS(N(sStringIOs NowebErrorcBstZRS(N(s__name__s __module__(((sT/mnt/gmirror/ports/www/zope-zwiki/work/ZWiki/plugins/mathaction/Extensions/tangle.pys NowebErrorscsld„}d„‰‡d†‰ddd„‰‡‡d†}|idd ƒ|||iƒ|i ƒƒSd S( snotangle output cCs|iddƒSdS(Ns s (sssreplace(ss((sT/mnt/gmirror/ports/www/zope-zwiki/work/ZWiki/plugins/mathaction/Extensions/tangle.pysn2rn scCsBti|iƒtiƒ}ti|iƒti|tiBƒdS(N(sfcntlsfsfilenosF_GETFLsflsF_SETFLsoss O_NONBLOCK(sfsfl((sT/mnt/gmirror/ports/www/zope-zwiki/work/ZWiki/plugins/mathaction/Extensions/tangle.pysmakeNonBlockingscs–ti|dƒ}|ii|ƒ|iiƒˆ|i ƒˆ|i ƒg} g}t }t }xέ|o| oΝti|i |i gggƒ\} } }xœ| D]”} | |i jo7|i iƒ} | djo t}q8|i| ƒq€| |i jo7|i iƒ} | djo t}q8| i| ƒq€q€WqdW|iƒ}ti|ƒpti|ƒ }|ti |dƒti | dƒfSdS(Nis(!spopen2sPopen3scmdLinesprogramstochildswritesstdinsclosesmakeNonBlockings fromchildschilderrsstderrsstdoutsFalseserreofsouteofsselectsreadmeswritmesxmesoutputsreadstextsTruesappendswaitsstatussoss WEXITSTATUSs WIFEXITEDserrorsstringsjoin(scmdLinesstdinsstatusserrorsstdoutserreofsxmesprogramsouteofsstderrsoutputsreadmeswritmestext(smakeNonBlocking(sT/mnt/gmirror/ports/www/zope-zwiki/work/ZWiki/plugins/mathaction/Extensions/tangle.pys runCommands6   *    sicCstid|||ƒdS(NsLatexWikiDebugLog(szLOGsLOGsseverityssummarysmessage(smessagessummarysseverity((sT/mnt/gmirror/ports/www/zope-zwiki/work/ZWiki/plugins/mathaction/Extensions/tangle.pyslog+scsfd|}ˆ||ƒ\}}}|o5ˆd||||fdƒt|d|ƒ‚n|SdS(Ns/usr/bin/notangle -R'%s' -s %s %s %s %s s NowebErrors ( schunkscmdLines runCommandsstdinserrsstdoutsstderrslogs NowebError(sstdinschunkserrsstdoutscmdLinesstderr(slogs runCommand(sT/mnt/gmirror/ports/www/zope-zwiki/work/ZWiki/plugins/mathaction/Extensions/tangle.pys runTangle.s  s Content-Types text/plainN( sn2rnsmakeNonBlockings runCommandslogs runTanglesRESPONSEs setHeadersselfsdocumentsREQUESTschunk(sselfsREQUESTsRESPONSEsn2rnsmakeNonBlockings runTangles runCommandslog((smakeNonBlockings runCommandslogsT/mnt/gmirror/ports/www/zope-zwiki/work/ZWiki/plugins/mathaction/Extensions/tangle.pystangles   ( sosssysspopen2sselectsfcntlsstringszLOGs cStringIOsStringIOs Exceptions NowebErrorstangle( sfcntlsstringsStringIOspopen2ssysszLOGstanglesossselects NowebError((sT/mnt/gmirror/ports/www/zope-zwiki/work/ZWiki/plugins/mathaction/Extensions/tangle.pys?s?