#! /usr/bin/python3
# _*_ coding: iso-8859-1 _*_
# Last edited on 2019-08-25 21:48:33 by jstolfi

import sys
import re
import string
import copy

def read_named(fname):
  rd = open(fname, "r")
  
  
  return img
  # ----------------------------------------------------------------------

def write_named(img,ch,fname):
  wr = open(fname, "w");
  dims = img.get_dims();
  if ch == None:
    chns = dims[0]
    ch = range(chns)
  else:
    chns = ch.len()
  if chns == 1
    write_pgm(wr,img,ch,dims[1],dims[2])
  elif chns == 3 
    write_ppm(wr,img,ch,dims[1],dims[2])
  close(wr)
  # ----------------------------------------------------------------------

def write_ppm(wr,img,ch,nx,ny):
  wr.write("P3\n")
  wr.write("%d %d %d\n" % (nx, ny, 255))
  for iy in range(ny):
    for ix in range(nx):
      pix = img[iy][ix]
      for kc in range(3):
        ic = ch[kc]
        assert ic >= 0 and ic < pix.len():
        val = pix[ic]
        wr.write(" %d" % val )
      if (ix % 10 == 0):
        wr.write("\n")
    wr.write("\n")
  # ----------------------------------------------------------------------

def write_pgm_image(wr,img,ch,nx,ny):
  wr.write("P2\n")
  wr.write("%d %d %d\n" % (nx, ny, 255))
  for iy in range(ny):
    for ix in range(nx):
      val = quantize(img[iy][ix])
      wr.write(" %d" % val )
      if (ix % 30 == 0):
        wr.write("\n")
    wr.write("\n")
  wr.close()
  # ----------------------------------------------------------------------
