http://sourceforge.net/p/turbogears2/tickets/43/
Module allura.lib.markdown_extensions:309 in run << new_node = markdown.etree.fromstring(new_text) except SyntaxError: new_node = markdown.etree.fromstring(unicode(BeautifulSoup(new_text))) node.clear() node.text = new_node.text >> new_node = markdown.etree.fromstring(unicode(BeautifulSoup(new_text))) Module BeautifulSoup:1499 in __init__ << kwargs['smartQuotesTo'] = self.HTML_ENTITIES kwargs['isHTML'] = True BeautifulStoneSoup.__init__(self, *args, **kwargs) SELF_CLOSING_TAGS = buildTagMap(None, >> BeautifulStoneSoup.__init__(self, *args, **kwargs) Module BeautifulSoup:1230 in __init__ << self.markupMassage = markupMassage try: self._feed(isHTML=isHTML) except StopParsing: pass >> self._feed(isHTML=isHTML) Module BeautifulSoup:1263 in _feed << self.builder.reset() self.builder.feed(markup) # Close out any unfinished strings and close all the open tags. self.endData() >> self.builder.feed(markup) Module HTMLParser:108 in feed << """ self.rawdata = self.rawdata + data self.goahead(0) def close(self): >> self.goahead(0) Module HTMLParser:148 in goahead << if startswith('<', i): if starttagopen.match(rawdata, i): # < + letter k = self.parse_starttag(i) elif startswith("</", i): k = self.parse_endtag(i) >> k = self.parse_starttag(i) Module HTMLParser:226 in parse_starttag << def parse_starttag(self, i): self.__starttag_text = None endpos = self.check_for_whole_start_tag(i) if endpos < 0: return endpos >> endpos = self.check_for_whole_start_tag(i) Module HTMLParser:301 in check_for_whole_start_tag << return -1 self.updatepos(i, j) self.error("malformed start tag") raise AssertionError("we should not get here!") >> self.error("malformed start tag") Module HTMLParser:115 in error << def error(self, message): raise HTMLParseError(message, self.getpos()) __starttag_text = None >> raise HTMLParseError(message, self.getpos()) HTMLParseError: malformed start tag, at line 1, column 9233
I added the exception catching back in. I was not able to reproduce this one locally, but I'd guess there will be future instances where people put weird things in there that just can't be converted, so we'll just ignore that now.
Looks good