#!/usr/bin/env python3
# coding: utf-8

from sys import argv, stderr, stdout
from PIL import Image
from shutil import get_terminal_size

def printImg(img):
    (w, h) = img.size
    for y in range(int(h/2)):
        prev = ()
        for x in range(w):
            (r0, g0, b0) = img.getpixel((x,y*2))
            (r1, g1, b1) = img.getpixel((x,y*2+1))
            if prev != ((r0, g0, b0), (r1, g1, b1)):
                line = f"\033[48;2;{r0};{g0};{b0};38;2;{r1};{g1};{b1}m▄"
                print(line, end='')
                prev = ((r0, g0, b0), (r1, g1, b1))
            else:
                print(f"▄", end='')
        print("\033[0m\n", end='')

if __name__ == "__main__":

    for imgFile in argv[1:]:
        try:
            (tWidth, tHeight) = get_terminal_size((80,40))
            img = Image.open(imgFile)
            img = img.convert('RGB')
            img.thumbnail((tWidth,tHeight*2))
            printImg(img)
            img.close()
        except:
            print(f"Could not open {imgFile}", file=stderr)
