joelibaceta/video-to-terminal

View on GitHub
video_to_ascii/render_strategy/ascii_color_filled_strategy.py

Summary

Maintainability
A
2 hrs
Test Coverage
"""
This module contains a class AsciiColorStrategy, to process video frames and build an ascii output
"""

from . import ascii_strategy as strategy
import sys

if sys.platform != 'win32':
    from . import image_processor as ipe
else:
    from . import image_processor_win as ipe

class AsciiColorFilledStrategy(strategy.AsciiStrategy):
    """Print each frame in the terminal using ascii characters"""

    def apply_pixel_to_ascii_strategy(self, pixel):
        """
        Define a pixel parsing strategy to use high density colored chars

        Args:
            pixel: a single video frame

        Returns:
            str: The resulting set of colored chars as a unique string
        """
        return ipe.pixel_to_ascii(pixel, density=2)