#!/usr/bin/env python

import os
import os.path
import time 
import sys
import tempfile

PY3 = sys.version_info[0] == 3

READ_SIZE = 8192

total_bytes_read = 0
temp_in_file = "-"

if (len(sys.argv) > 6):
   temp_in_file = sys.argv[6] 

temp_out_handle, temp_out_fname = tempfile.mkstemp()

font = "-I/usr/share/cups/fonts"
device = "-sDEVICE=tiffg4 -dMaxStripSize=0 -r204x196 -dNOPAUSE -dBATCH -dSAFER -dPARANOIDSAFER -dSHORTERRORS -dWRITESYSTEMDICT -dGHOSTSCRIPT -sstdout=%stderr -sOutputFile=" + temp_out_fname + " " + temp_in_file

gs_command = "/usr/bin/gs" + " " + font + " " + device

exit_code = os.system(gs_command)

file_len = os.stat(temp_out_fname).st_size
if (file_len < READ_SIZE):
    READ_SIZE = file_len

os.close(temp_out_handle)

out_handle = open(temp_out_fname, mode='rb')
while (total_bytes_read < file_len):
      data = out_handle.read(READ_SIZE)
      if PY3:
          sys.stdout.buffer.write(data)
      else:
          sys.stdout.write(data)
      total_bytes_read += READ_SIZE
out_handle.close()

os.remove(temp_out_fname)
sys.exit(0)
