Beispiel #1
0
 def parse_declaration(self, i):
     """Fix handling of CDATA sections. Code borrowed from BeautifulSoup.
     """
     j = None
     if self.rawdata[i:i+9] == '<![CDATA[':
          k = self.rawdata.find(']]>', i)
          if k == -1:
              k = len(self.rawdata)
          data = self.rawdata[i+9:k]
          j = k+3
          if self.original_charset and isinstance(data, str):
              data = data.decode(self.original_charset)
          self.result.append("<![CDATA[%s]]>" % data)
     else:
         try:
             j = HTMLParser.parse_declaration(self, i)
         except HTMLParseError:
             toHandle = self.rawdata[i:]
             self.result.append(toHandle)
             j = i + len(toHandle)
     return j
Beispiel #2
0
 def parse_declaration(self, i):
     """Fix handling of CDATA sections. Code borrowed from BeautifulSoup.
     """
     j = None
     if self.rawdata[i:i + 9] == '<![CDATA[':
         k = self.rawdata.find(']]>', i)
         if k == -1:
             k = len(self.rawdata)
         data = self.rawdata[i + 9:k]
         j = k + 3
         if self.original_charset and isinstance(data, str):
             data = data.decode(self.original_charset)
         self.result.append("<![CDATA[%s]]>" % data)
     else:
         try:
             j = HTMLParser.parse_declaration(self, i)
         except HTMLParseError:
             toHandle = self.rawdata[i:]
             self.result.append(toHandle)
             j = i + len(toHandle)
     return j