cl-ipp

Internet Printing Protocol (IPP) for Common Lisp
git clone https://logand.com/git/cl-ipp.git/
Log | Files | Refs

commit 0cd14153e2fdbc7a178eadb62286283de7331283
parent 0c030cec93e25d399979bc2cf8a8398f23d2f221
Author: Tomas Hlavaty <tom@logand.com>
Date:   Wed,  7 Aug 2013 09:09:53 +0200

better printer-uri arg passing

Diffstat:
Mipp.lisp | 41++++++++++++++++++++++++++---------------
1 file changed, 26 insertions(+), 15 deletions(-)

diff --git a/ipp.lisp b/ipp.lisp @@ -258,24 +258,24 @@ (with-open-file (*input-stream* "response.dat" :element-type '(unsigned-byte 8)) (read-ipp 314)) -(defun ipp (request-file response-file data-file request-id operation groups) +(defun ipp (printer-uri request-file response-file data-file request-id operation groups) (with-open-file (*output-stream* request-file :element-type '(unsigned-byte 8) :direction :output :if-exists :supersede :if-does-not-exist :create) (write-ipp data-file request-id operation groups)) - (funcall *ipp-client* request-file response-file) + (funcall *ipp-client* printer-uri request-file response-file) (with-open-file (*input-stream* response-file :element-type '(unsigned-byte 8)) (read-ipp request-id))) -(defun print-job (request-file +(defun print-job (printer-uri + request-file response-file data-file request-id attributes-charset attributes-natural-language - printer-uri &key requesting-user-name job-name @@ -287,7 +287,8 @@ job-k-octets job-impressions job-media-sheets) - (ipp request-file + (ipp printer-uri + request-file response-file data-file request-id @@ -328,17 +329,22 @@ ;;(wget "http://localhost:631/printers/" :response-file "/tmp/a.html") ;; wget|curl|lisp-http-client driver/backend -(defun make-ipp-client (printer-uri) - (lambda (request-file response-file) +(defun make-ipp-client () + (lambda (printer-uri request-file response-file) (wget printer-uri :request-file request-file :response-file response-file :content-type "application/ipp"))) #+nil -(let* ((url "http://localhost:631/printers/Virtual_PDF_Printer") - (ipp::*ipp-client* (make-ipp-client url))) - (ipp::print-job "request2.dat" "response2.dat" "test.txt" 314 "utf-8" "en" url +(let ((ipp::*ipp-client* (make-ipp-client))) + (ipp::print-job "http://localhost:631/printers/Virtual_PDF_Printer" + "request2.dat" + "response2.dat" + "test.txt" + 314 + "utf-8" + "en" :requesting-user-name "tomas")) (defpackage :ipp.curl @@ -361,15 +367,20 @@ ;;(curl "http://localhost:631/printers/" :response-file "/tmp/a.html") ;; curl|curl|lisp-http-client driver/backend -(defun make-ipp-client (printer-uri) - (lambda (request-file response-file) +(defun make-ipp-client () + (lambda (printer-uri request-file response-file) (curl printer-uri :request-file request-file :response-file response-file :content-type "application/ipp"))) #+nil -(let* ((url "http://localhost:631/printers/Virtual_PDF_Printer") - (ipp::*ipp-client* (make-ipp-client url))) - (ipp::print-job "request2.dat" "response2.dat" "test.txt" 314 "utf-8" "en" url +(let ((ipp::*ipp-client* (make-ipp-client))) + (ipp::print-job "http://localhost:631/printers/Virtual_PDF_Printer" + "request2.dat" + "response2.dat" + "test.txt" + 314 + "utf-8" + "en" :requesting-user-name "tomas"))