Ignore:
Timestamp:
03/24/08 22:15:06 (4 years ago)
Author:
christian
Message:

Fixed an error while setting up the printer
Added Quartz-based PDF size reduction

File:
1 edited

Legend:

Unmodified
Added
Removed
  • SipgateFax/trunk/Resources/usr/libexec/cups/backend/sipgate

    r7 r9  
    6868user = sys.argv[2] 
    6969title = sys.argv[3] 
     70copies = sys.argv[4] 
    7071opts = sys.argv[5].replace("\\ ", "%20").split() 
    7172atPos = os.environ['DEVICE_URI'].find('@') 
     
    7475faxTo = toE164(getOptionFromArray(opts, 'faxTo')) 
    7576if faxTo==False: 
    76         sys.stderr.write("ERROR: No fax number given") 
     77        sys.stderr.write("ERROR: No fax number given\n") 
    7778        sys.exit(CUPS_BACKEND_CANCEL) 
    7879 
    7980if len(cred)!=2: 
    80         sys.stderr.write("ERROR: Credentials missing in device_uri") 
     81        sys.stderr.write("ERROR: Credentials missing in device_uri\n") 
    8182        sys.exit(CUPS_BACKEND_CANCEL) 
    82  
    83 #dbg = open('/tmp/sipgate.log', 'w') 
    84 #for param in os.environ.keys(): 
    85 #       sys.stderr.write("%20s %s\n" % (param,os.environ[param])) 
    86 #dbg.write("\nfaxTo: %s\n" % faxTo) 
    87 #dbg.write("host: %s\n" % host) 
    88 #dbg.write("u/p %s %s" % (cred[0], cred[1])) 
    89 #dbg.close() 
    9083 
    9184if argc == 7: 
     
    9386        infilename = sys.argv[6] 
    9487else: 
     88        sys.stderr.write("INFO: file is stdin\n") 
    9589        infilename = tempfile.mktemp("sipfax.pdf") 
    9690        try: 
     
    9892        except: 
    9993                sys.stderr.write("ERROR: unable to create tmp file %s\n" % infilename) 
    100                 sys.exit(1) 
     94                sys.exit(CUPS_BACKEND_FAILED) 
    10195 
    102         sys.stderr.write("INFO: file is stdin\n") 
    10396        try: 
    10497                infile.write(sys.stdin.read()) 
     98                infile.close() 
    10599        except: 
    106100                sys.stderr.write("ERROR: unable to copy into tmpfile\n") 
     
    108102                sys.exit(CUPS_BACKEND_FAILED) 
    109103 
    110 infile = open(infilename, "r") 
     104outfilename = tempfile.mktemp("sipcompress.out.pdf") 
     105cmd = "/System/Library/Printers/Libraries/quartzfilter" 
     106filterpath = "/Library/Filters/CompressForFax.qfilter" 
     107ret = os.system("%s \"%s\" \"%s\" \"%s\"" % (cmd, infilename, filterpath, outfilename)) 
     108if ret == 0: 
     109        infile = open(outfilename, "r") 
     110else: 
     111        sys.stderr.write("ERROR: Filter error %s\n" % ret); 
     112        infile = open(infilename, "r") 
     113 
    111114faxcontent = base64.encodestring(infile.read()); 
    112115infile.close() 
     
    118121result = server.samurai.ClientIdentify({ 
    119122        'ClientName':'SipgateFax for Mac OSX', 
    120         'ClientVersion':'1.0b1', 
     123        'ClientVersion':'1.0b2', 
    121124        'ClientVendor':'Christian Aust, software-consultant.net', 
    122125}) 
     
    139142if argc == 6: 
    140143    os.unlink(infilename) 
     144os.unlink(outfilename) 
    141145 
    142146sys.exit(CUPS_BACKEND_OK) 
Note: See TracChangeset for help on using the changeset viewer.