#!/usr/local/bin/python # # dupr - duplex postscript printing helper; use it just like lpr # # usage: dupr [lprargs] [[--] file ...] # # result value will be 0 if all lpr subcommands succeeded, or the # nonzero result of (one of) the failed command(s) # # dan sandler import sys, os DUPLEX_PREAMBLE='''%! statusdict begin true setduplexmode end ''' def runit(lpargs='', fd=sys.stdin): #if os.isatty(sys.stdout.fileno()): # sys.stdout.write("running: " + cmd) pipe = os.popen("lpr " + lpargs, 'w') pipe.write(DUPLEX_PREAMBLE) pipe.write(fd.read()) return pipe.close() def main(args): lpargv = [] filev = [] while len(args) > 0: arg = args[0] ; args = args[1:] if arg[0] == '-': if arg == '--': filev += args ; break lpargv.append(arg) else: filev.append(arg) lpargs = " ".join(['%s' % s for s in lpargv]) if len(filev) > 0: results = [runit('-J "%s" ' % fn + lpargs, open(fn,'r')) for fn in filev] else: results = [runit(lpargs)] return reduce(lambda x,y: x or y, results) if __name__ == '__main__': sys.exit(main(sys.argv[1:]))