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
 | 
					#lang racket/base
 | 
				
			||||||
(require racket/pretty
 | 
					(require racket/function
 | 
				
			||||||
 | 
					         racket/pretty
 | 
				
			||||||
         racket/runtime-path
 | 
					         racket/runtime-path
 | 
				
			||||||
 | 
					         racket/string
 | 
				
			||||||
         ini)
 | 
					         ini)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(provide
 | 
					(provide
 | 
				
			||||||
| 
						 | 
					@ -51,7 +53,16 @@
 | 
				
			||||||
        l
 | 
					        l
 | 
				
			||||||
      (printf "note: ~a items loaded from config file~n" (length 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
 | 
					(define config
 | 
				
			||||||
  (make-hasheq
 | 
					  (make-hasheq
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue