summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArun Isaac2022-06-30 10:32:55 +0530
committerArun Isaac2022-06-30 10:32:55 +0530
commitcbf42ddc838a328b89eaf4e02f77039b784850d6 (patch)
tree837c6d371ec01990b8c0d3a24be52c9a8b843764
parent5a73c1d4d7611195b024e10cc2e8b50f6fa460d7 (diff)
downloadtissue-cbf42ddc838a328b89eaf4e02f77039b784850d6.tar.gz
tissue-cbf42ddc838a328b89eaf4e02f77039b784850d6.tar.lz
tissue-cbf42ddc838a328b89eaf4e02f77039b784850d6.zip
bin: Read web service parameters from configuration file.
* bin/tissue (invalid-operand): Delete function. (tissue-run-web): Read address and port from configuration file.
-rwxr-xr-xbin/tissue25
1 files changed, 7 insertions, 18 deletions
diff --git a/bin/tissue b/bin/tissue
index 247a45f..fb1656e 100755
--- a/bin/tissue
+++ b/bin/tissue
@@ -66,9 +66,6 @@ exec guile --no-auto-compile -s "$0" "$@"
(define (invalid-option opt name arg loads)
(error "Invalid option" name))
-(define (invalid-operand arg loads)
- (error "Invalid argument" arg))
-
(define (command-line-program)
"Return the name, that is arg0, of the command-line program invoked
to run tissue."
@@ -213,31 +210,23 @@ Export the repository as a website to OUTPUT-DIRECTORY.
(define tissue-run-web
(match-lambda*
(("--help")
- (format #t "Usage: ~a run-web
-Run a web search service for the current repository.
+ (format #t "Usage: ~a run-web CONFIG-FILE
+Run a web search service reading configuration from CONFIG-FILE.
- --address=IP run web server listening on IP address [default=127.0.0.1]
- --port=PORT run web server listening on PORT [default=8080]
--listen-repl=P run REPL server listening on port or path P
"
(command-line-program)))
(args
(let ((args (args-fold args
- (list (option (list "address")
- #t #f
- (lambda (opt name arg result)
- (acons 'address arg result)))
- (option (list "port")
- #t #f
- (lambda (opt name arg result)
- (acons 'port (string->number arg)
- result)))
- (option '("listen-repl")
+ (list (option '("listen-repl")
#t #f
(lambda (opt name arg result)
(acons 'listen-repl arg result))))
invalid-option
- invalid-operand
+ (lambda (config-file result)
+ (append (call-with-input-file config-file
+ read)
+ result))
;; Default address and port
'((address . "127.0.0.1")
(port . 8080)))))