def parse_endtag(self, i): rawdata = self.rawdata assert rawdata[i:i+2] == "</", "unexpected call to parse_endtag" match = endendtag.search(rawdata, i+1) # > if not match: return -1 j = match.end() match = endtagfind.match(rawdata, i) # </ + tag + > if not match: self.error("bad end tag: %r" % (rawdata[i:j],)) tag = match.group(1) if not self.should_retain_case(): # Hacked tag = tag.lower() # Hacked self.handle_endtag(tag) # Hacked line self.clear_cdata_mode() return j
def parse_endtag(self, i): rawdata = self.rawdata assert rawdata[i:i + 2] == "</", "unexpected call to parse_endtag" match = endendtag.search(rawdata, i + 1) # > if not match: return -1 j = match.end() match = endtagfind.match(rawdata, i) # </ + tag + > if not match: self.error("bad end tag: %r" % (rawdata[i:j], )) tag = match.group(1) if not self.should_retain_case(): # Hacked tag = tag.lower() # Hacked self.handle_endtag(tag) # Hacked line self.clear_cdata_mode() return j
def parse_endtag(self, i): rawdata = self.rawdata assert rawdata[i:i+2] == "</", "unexpected call to parse_endtag" match = endendtag.search(rawdata, i+1) # > if not match: return -1 j = match.end() match = endtagfind.match(rawdata, i) # </ + tag + > if not match: if self.cdata_elem is not None: self.handle_data(rawdata[i:j]) return j self.error("bad end tag: %r" % (rawdata[i:j],)) elem = match.group(1).lower() # script or style if self.cdata_elem is not None: if elem != self.cdata_elem: self.handle_data(rawdata[i:j]) return j self.handle_endtag(elem) self.clear_cdata_mode() return j