#!/usr/bin/env python

import os
import sys
from zplgrf import GRF


options = {
    'compression': 3, # If nothing prints try 2
    'quantity': sys.argv[4],
    'font_path': os.environ['CUPS_FONTPATH'],
    'optimise_barcodes': True
}

for option in sys.argv[5].split(' '):
    if option.startswith('Resolution='):
        options['dpi'] = option[11:-3]
    elif option.startswith('orientation-requested'):
        options['orientation'] = option[-1]
    elif option.startswith('PageSize='):
        options['height'], options['width'] = option[10:].split('h')

with open(sys.argv[6], 'rb') as pdf:
    grf = GRF.from_pdf(pdf.read(), 'CUPS')
    if options['optimise_barcodes']:
        grf.optimise_barcodes()
    sys.stdout.write(grf.to_zpl(**options))
