Skip to content

Commit 164b751

Browse files
committed
Allow to pass writer to render_html (for saving to string etc.)
1 parent 30d04a2 commit 164b751

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

Diff for: lib/panela/panela_colors.py

+9-9
Original file line numberDiff line numberDiff line change
@@ -636,7 +636,7 @@ def parse(self):
636636
# end of line
637637
self.data.append([x, y, None, None, None])
638638

639-
def render_html(self, colorize=True):
639+
def render_html(self, colorize=True, writer=sys.stdout):
640640

641641
prev_style = (None, None)
642642

@@ -645,30 +645,30 @@ def render_html(self, colorize=True):
645645
if char == None: # end of line
646646
if colorize:
647647
if prev_style != (None, None):
648-
sys.stdout.write("</span>")
648+
writer.write("</span>")
649649
prev_style = (None, None)
650-
sys.stdout.write("\n")
650+
writer.write("\n")
651651
else:
652652
if colorize:
653653
if style != prev_style:
654654
if prev_style != (None, None):
655-
sys.stdout.write("</span>")
655+
writer.write("</span>")
656656
if style != (None, None):
657657
fore = style[0] if style[0] else 'unset'
658658
back = style[1] if style[1] else 'unset'
659-
sys.stdout.write("<span style=\"" +
659+
writer.write("<span style=\"" +
660660
"color: %s; " % fore +
661661
"background-color: %s\">" % back)
662662
prev_style = style
663663

664664
if char == '<':
665-
sys.stdout.write("&lt;")
665+
writer.write("&lt;")
666666
elif char == '>':
667-
sys.stdout.write("&gt;")
667+
writer.write("&gt;")
668668
elif char == '&':
669-
sys.stdout.write("&amp;")
669+
writer.write("&amp;")
670670
else:
671-
sys.stdout.write(char)
671+
writer.write(char)
672672

673673

674674
def apply_mask(self):

0 commit comments

Comments
 (0)