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*
|
;; Initial configuration from *etc-hackerbase*
|
||||||
|
|
||||||
;; Where to load initial configuration from
|
;; 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
|
;; Needed by multiple modules actually
|
||||||
(define *members-directory* (make-parameter #f))
|
(define *members-directory* (make-parameter #f))
|
||||||
|
@ -82,11 +85,9 @@
|
||||||
(define *doku-base* (make-parameter #f))
|
(define *doku-base* (make-parameter #f))
|
||||||
(define =doku-base= "/var/www")
|
(define =doku-base= "/var/www")
|
||||||
|
|
||||||
;; Loads the configuration file and possibly changes the default
|
(define (load-single-configuration! fname)
|
||||||
;; parameters.
|
(when (file-exists? fname)
|
||||||
(define (load-configuration!)
|
(let loop ((lines (read-lines (open-input-file fname))))
|
||||||
(when (file-exists? (*etc-hackerbase*))
|
|
||||||
(let loop ((lines (read-lines (open-input-file (*etc-hackerbase*)))))
|
|
||||||
(when (not (null? lines))
|
(when (not (null? lines))
|
||||||
(let* ((line (car lines))
|
(let* ((line (car lines))
|
||||||
(kv (parser-parse-line
|
(kv (parser-parse-line
|
||||||
|
@ -117,7 +118,18 @@
|
||||||
(when (not (*doku-base*))
|
(when (not (*doku-base*))
|
||||||
(*doku-base* v)))
|
(*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*))
|
(when (not (*members-directory*))
|
||||||
(*members-directory* =members-directory=))
|
(*members-directory* =members-directory=))
|
||||||
(when (not (*apikeys-file*))
|
(when (not (*apikeys-file*))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue