Improve default config loading.
This commit is contained in:
parent
362c6b8568
commit
7205fd9382
1 changed files with 19 additions and 7 deletions
|
@ -53,7 +53,10 @@
|
|||
;; Initial configuration from *etc-hackerbase*
|
||||
|
||||
;; Where to load initial configuration from
|
||||
(define *etc-hackerbase* (make-parameter "/etc/hackerbase"))
|
||||
(define *etc-hackerbase* (make-parameter
|
||||
(list "/etc/hackerbase"
|
||||
;; TODO: $HOME expansion
|
||||
"/home/hackerbase/.hackerbaserc")))
|
||||
|
||||
;; Needed by multiple modules actually
|
||||
(define *members-directory* (make-parameter #f))
|
||||
|
@ -82,11 +85,9 @@
|
|||
(define *doku-base* (make-parameter #f))
|
||||
(define =doku-base= "/var/www")
|
||||
|
||||
;; Loads the configuration file and possibly changes the default
|
||||
;; parameters.
|
||||
(define (load-configuration!)
|
||||
(when (file-exists? (*etc-hackerbase*))
|
||||
(let loop ((lines (read-lines (open-input-file (*etc-hackerbase*)))))
|
||||
(define (load-single-configuration! fname)
|
||||
(when (file-exists? fname)
|
||||
(let loop ((lines (read-lines (open-input-file fname))))
|
||||
(when (not (null? lines))
|
||||
(let* ((line (car lines))
|
||||
(kv (parser-parse-line
|
||||
|
@ -117,7 +118,18 @@
|
|||
(when (not (*doku-base*))
|
||||
(*doku-base* v)))
|
||||
)))
|
||||
(loop (cdr lines))))))
|
||||
(loop (cdr lines)))))))
|
||||
|
||||
;; Loads the configuration file and possibly changes the default
|
||||
;; parameters.
|
||||
(define (load-configuration!)
|
||||
(let ((fnames (*etc-hackerbase*)))
|
||||
(if (string? fnames)
|
||||
(load-single-configuration! fnames)
|
||||
(let loop ((fnames fnames))
|
||||
(when (not (null? fnames))
|
||||
(load-single-configuration! (car fnames))
|
||||
(loop (cdr fnames))))))
|
||||
(when (not (*members-directory*))
|
||||
(*members-directory* =members-directory=))
|
||||
(when (not (*apikeys-file*))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue