#1952 Beautiful Soup exception

v1.0.0
closed
sf-1 (616)
General
nobody
2015-08-20
2011-04-14
No

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

Related

Tickets: #1963

Discussion

  • Jenny Steele - 2011-04-14
    • assigned_to: Jenny Steele
    • size: --> 1
     
  • Jenny Steele - 2011-04-14
    • status: open --> code-review
    • assigned_to: Jenny Steele --> Rick Copéland
     
  • Jenny Steele - 2011-04-14

    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.

     
  • Dave Brondsema

    Dave Brondsema - 2011-04-14
    • milestone: apr-21 --> apr-14
     
  • Rick Copeland - 2011-04-14

    Looks good

     
  • Rick Copeland - 2011-04-14
     
  • Rick Copeland - 2011-04-14
    • status: code-review --> closed
     

Log in to post a comment.