forked from cadence/breezewiki
		
	Support environment variables for configuration
This commit is contained in:
		
							parent
							
								
									711a8225fb
								
							
						
					
					
						commit
						b57fd99c7d
					
				
					 1 changed files with 13 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -1,6 +1,8 @@
 | 
			
		|||
#lang racket/base
 | 
			
		||||
(require racket/pretty
 | 
			
		||||
(require racket/function
 | 
			
		||||
         racket/pretty
 | 
			
		||||
         racket/runtime-path
 | 
			
		||||
         racket/string
 | 
			
		||||
         ini)
 | 
			
		||||
 | 
			
		||||
(provide
 | 
			
		||||
| 
						 | 
				
			
			@ -51,7 +53,16 @@
 | 
			
		|||
        l
 | 
			
		||||
      (printf "note: ~a items loaded from config file~n" (length l)))))
 | 
			
		||||
 | 
			
		||||
(define combined-alist (append default-config loaded-alist))
 | 
			
		||||
(define env-alist
 | 
			
		||||
  (let ([e-names (environment-variables-names (current-environment-variables))]
 | 
			
		||||
        [e-ref (λ (name) (bytes->string/latin-1 (environment-variables-ref (current-environment-variables) name)))])
 | 
			
		||||
    (map (λ (name) (cons (string->symbol (string-downcase (substring (bytes->string/latin-1 name) 3)))
 | 
			
		||||
                         (e-ref name)))
 | 
			
		||||
         (filter (λ (name) (string-prefix? (bytes->string/latin-1 name) "BW_")) e-names))))
 | 
			
		||||
(when (> (length env-alist) 0)
 | 
			
		||||
  (printf "note: ~a items loaded from environment variables~n" (length env-alist)))
 | 
			
		||||
 | 
			
		||||
(define combined-alist (append default-config loaded-alist env-alist))
 | 
			
		||||
 | 
			
		||||
(define config
 | 
			
		||||
  (make-hasheq
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue