@@ -636,7 +636,7 @@ def parse(self):
636
636
# end of line
637
637
self .data .append ([x , y , None , None , None ])
638
638
639
- def render_html (self , colorize = True ):
639
+ def render_html (self , colorize = True , writer = sys . stdout ):
640
640
641
641
prev_style = (None , None )
642
642
@@ -645,30 +645,30 @@ def render_html(self, colorize=True):
645
645
if char == None : # end of line
646
646
if colorize :
647
647
if prev_style != (None , None ):
648
- sys . stdout .write ("</span>" )
648
+ writer .write ("</span>" )
649
649
prev_style = (None , None )
650
- sys . stdout .write ("\n " )
650
+ writer .write ("\n " )
651
651
else :
652
652
if colorize :
653
653
if style != prev_style :
654
654
if prev_style != (None , None ):
655
- sys . stdout .write ("</span>" )
655
+ writer .write ("</span>" )
656
656
if style != (None , None ):
657
657
fore = style [0 ] if style [0 ] else 'unset'
658
658
back = style [1 ] if style [1 ] else 'unset'
659
- sys . stdout .write ("<span style=\" " +
659
+ writer .write ("<span style=\" " +
660
660
"color: %s; " % fore +
661
661
"background-color: %s\" >" % back )
662
662
prev_style = style
663
663
664
664
if char == '<' :
665
- sys . stdout .write ("<" )
665
+ writer .write ("<" )
666
666
elif char == '>' :
667
- sys . stdout .write (">" )
667
+ writer .write (">" )
668
668
elif char == '&' :
669
- sys . stdout .write ("&" )
669
+ writer .write ("&" )
670
670
else :
671
- sys . stdout .write (char )
671
+ writer .write (char )
672
672
673
673
674
674
def apply_mask (self ):
0 commit comments