def output_colorized(self, message):
            parts = self.ansi_esc.split(message)
            write = self.stream.write
            h = None
            fd = getattr(self.stream, 'fileno', None)
            if fd is not None:
                fd = fd()
                if fd in (1, 2):    # stdout or stderr
                    h = ctypes.windll.kernel32.GetStdHandle(-10 - fd)
            while parts:
                text = parts.pop(0)
                if text:
                    write(text)
                if parts:
                    params = parts.pop(0)
                    if h is not None:
                        params = [int(p) for p in params.split(';')]
                        color = 0
                        for p in params:
                            if 40 <= p <= 47:
                                color |= self.nt_color_map[p - 40] << 4
                            elif 30 <= p <= 37:
                                color |= self.nt_color_map[p - 30]
                            elif p == 1:
                                color |= 0x08   # foreground intensity on
                            elif p == 0:        # reset to default color
                                color = 0x07
                            else:
                                pass     # error condition ignored
                        ctypes.windll.kernel32.SetConsoleTextAttribute(h,
                                                                       color)
dataset/ETHPy150Open opencivicdata/pupa/pupa/ext/ansistrm.py/ColorizingStreamHandler.output_colorized/original