+ def write(self, text):
+ lines = text.split("\n")
+ if len(lines) > 1:
+ for ln in lines[:-1]:
+ self.buf.extend(ln.encode(self.charset))
+ self.buf.extend(b"\n")
+ self.col = 0
+ self.buf.extend(lines[-1].encode(self.charset))
+ self.col += len(lines[-1])
+ self.atbreak = False
+
+ def br(self):
+ if not self.atbreak:
+ self.buf.extend(("\n" + self.curind).encode(self.charset))
+ self.col = 0
+ self.atbreak = True
+
+ def inlinep(self, el):
+ for ch in el.children:
+ if isinstance(ch, cons.text):
+ return True
+ return False
+
+ def push(self, el):
+ self.stack.append((el, self.curind, self.inline))
+
+ def pop(self):
+ el, self.curind, self.inline = self.stack.pop()
+ return el
+
+ def starttag(self, el):
+ if not self.inline:
+ if self.last[0] == "<" and self.last[1].name == el.name and self.lastendbr:
+ pass