diff options
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/rh-client.in | 28 | ||||
| -rwxr-xr-x | scripts/rh-server.in | 16 | 
2 files changed, 31 insertions, 13 deletions
| diff --git a/scripts/rh-client.in b/scripts/rh-client.in index 64dfde6..8c96acb 100755 --- a/scripts/rh-client.in +++ b/scripts/rh-client.in @@ -1,4 +1,5 @@ -#!/usr/bin/env guile +#!@GUILE@ \ +--no-auto-compile -e main -s  !#  (use-modules (simple-zmq)  	     (config) @@ -28,19 +29,19 @@       (switch        (name 'title)        (synopsis "title of the new media") -      (default "Foundation Trilogy") +      (default "")        (test string?)        (character #t))       (switch        (name 'author)        (synopsis "author of the new media") -      (default "Isaac Asimov") +      (default "")        (test string?)        (character #t))       (switch        (name 'location)        (synopsis "location of the new media") -      (default "https://openlibrary.org/books/OL20930675M/The_foundation_trilogy") +      (default "")        (test string?)        (character #t))       (switch @@ -62,6 +63,10 @@       (configuration        (name 'consume)        (synopsis "remove the next media from the heap") +      (wanted '((keywords . (service-socket))))) +     (configuration +      (name 'shutdown) +      (synopsis "shutdown the heap")        (wanted '((keywords . (service-socket)))))))     (directory (list (in-home ".reading-heap/")  		    (path (given @@ -70,7 +75,11 @@  							     "/.config"))  					  "/reading-heap/"))  			  (eager? #t)))) -   (parser sexp-parser))) +   (parser sexp-parser) +   (copyright @COPYRIGHT@) +   (version @HVERSION@) +   (license @LICENSE@) +   (author @AUTHOR@)))  (define context (zmq-create-context)) @@ -78,7 +87,7 @@  (define (client-setup sock)    (zmq-connect client-socket sock)) -   +  (define (rh-client-next)    (zmq-send client-socket "next")    (let ((msg (zmq-receive-bytevector client-socket 1500))) @@ -96,6 +105,10 @@    (zmq-send client-socket "consume")    (display (zmq-receive client-socket 1500))) +(define (rh-client-shutdown) +  (zmq-send client-socket "shutdown") +  (display (zmq-receive client-socket 1500))) +  (define (json-from-args priority title author location)    (scm->json-string `(("priority" . ,priority)  		      ("title" . ,title) @@ -118,6 +131,9 @@  	  ((string=? (cadr (full-command options)) "consume")  	   (client-setup (option-ref options 'service-socket))  	   (rh-client-consumed)) +	  ((string=? (cadr (full-command options)) "shutdown") +	   (client-setup (option-ref options 'service-socket)) +	   (rh-client-shutdown))  	  (#t (emit-help options)))))  (main (command-line)) diff --git a/scripts/rh-server.in b/scripts/rh-server.in index 9749ec2..a9dd758 100755 --- a/scripts/rh-server.in +++ b/scripts/rh-server.in @@ -1,4 +1,5 @@ -#!/usr/bin/env guile +#!@GUILE@ \ +--no-auto-compile -e main -s  !#  (use-modules (srfi srfi-1)  	     (config) @@ -38,7 +39,7 @@        (character #f))       (switch        (name 'serve) -      (synopsis "server the media heap") +      (synopsis "serve the media heap")        (default #f)        (test boolean?)        (character #t)) @@ -51,16 +52,17 @@  					  "/reading-heap/"))  			  (eager? #t))))     (parser sexp-parser) -   (copyright '(2023)) -   (version "0.1") -   (license agpl3+) -   (author "Christopher R. Nelson"))) +   (copyright @COPYRIGHT@) +   (version @HVERSION@) +   (license @LICENSE@) +   (author @AUTHOR@)))  (define (main cmd-line)    (let ((options (getopt-config-auto cmd-line config)))      (when (option-ref options 'write)        (options-write options)) -    (when (option-ref options 'serve) +    (when (or (option-ref options 'serve) +	      (not (option-ref options 'write)))        (let* ((media (filetree->media-list (option-ref options 'media-library)))  	     (priorities (map media-priority media))  	     (heap (fold heap-insert 'E priorities media))) | 
