Show missing keys.
This commit is contained in:
		
							parent
							
								
									babe6ffce4
								
							
						
					
					
						commit
						f06949b545
					
				
					 2 changed files with 16 additions and 1 deletions
				
			
		|  | @ -116,7 +116,14 @@ | |||
| 			   (else | ||||
| 			    (list k v))))) | ||||
| 		     sikeys)) | ||||
| 	  (result (filter identity (append head body)))) | ||||
| 	  (misskeys (member-missing-keys mr)) | ||||
| 	  (miss (if (null? misskeys) | ||||
| 		    '() | ||||
| 		    (list (list "Missing keys:" | ||||
| 				(string-intersperse | ||||
| 				 (map symbol->string misskeys) | ||||
| 				 ", "))))) | ||||
| 	  (result (filter identity (append head body miss)))) | ||||
|      (print (table->string result #:table-border #t #:row-border #t #:col-border #t)))) | ||||
| 
 | ||||
|  ;; Nicely prints the member source with any errors recorded. | ||||
|  |  | |||
|  | @ -42,6 +42,7 @@ | |||
|   member-record-sub-ensure | ||||
| 
 | ||||
|   member-record-info | ||||
|   member-missing-keys | ||||
| 
 | ||||
|   member-destroyed? | ||||
|   member-suspended? | ||||
|  | @ -186,6 +187,13 @@ | |||
| 	 (dict-ref info key) | ||||
| 	 (dict-ref info key (car defaults))))) | ||||
| 
 | ||||
|  ;; Return mandatory keys with #f as value | ||||
|  (define (member-missing-keys mr) | ||||
|    (dict-reduce '() | ||||
| 		(lambda (acc k v) | ||||
| 		  (if v acc (cons k acc))) | ||||
| 		(dict-ref mr 'info))) | ||||
| 
 | ||||
|  ;; Returns true if the member record represents destroyed member. The | ||||
|  ;; *current-month* is a global parameter from period module. | ||||
|  (define (member-destroyed? mr) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue