def parseStringAndReport(s): try: return microdom.parseString(s) except microdom.MismatchedTags, e: raise process.ProcessingFailure( "%s:%s: begin mismatched tags <%s>/</%s>" % (e.begLine, e.begCol, e.got, e.expect), "%s:%s: end mismatched tags <%s>/</%s>" % (e.endLine, e.endCol, e.got, e.expect))
def check(self, dom, filename): self.hadErrors = 0 for method in reflect.prefixedMethods(self, 'check_'): method(dom, filename) if self.hadErrors: raise process.ProcessingFailure("invalid format")
from twisted.lore import default, tree, process from nevow import loaders def parseStringAndReport(s): try: return microdom.parseString(s) except microdom.MismatchedTags, e: raise process.ProcessingFailure( "%s:%s: begin mismatched tags <%s>/</%s>" % (e.begLine, e.begCol, e.got, e.expect), "%s:%s: end mismatched tags <%s>/</%s>" % (e.endLine, e.endCol, e.got, e.expect)) except microdom.ParseError, e: raise process.ProcessingFailure("%s:%s:%s" % (e.line, e.col, e.message)) except IOError, e: raise process.ProcessingFailure(e.strerror) def ____wait(d): "." from twisted.internet import reactor from twisted.python import failure l = [] d.addBoth(l.append) while not l: reactor.iterate() if isinstance(l[0], failure.Failure): l[0].raiseException() return l[0]