forked from fediversity/fediversity
		
	Optionally remove .pub suffix from file names
				
					
				
			This commit is contained in:
		
							parent
							
								
									9407af8ac8
								
							
						
					
					
						commit
						377ad0ea6e
					
				
					 1 changed files with 17 additions and 1 deletions
				
			
		|  | @ -1,14 +1,30 @@ | |||
| let | ||||
|   inherit (builtins) | ||||
|     attrValues | ||||
|     elemAt | ||||
|     foldl' | ||||
|     mapAttrs | ||||
|     match | ||||
|     readDir | ||||
|     readFile | ||||
|     ; | ||||
|   ## `mergeAttrs` and `concatMapAttrs` are in `lib.trivial` and `lib.attrsets`, | ||||
|   ## but we would rather avoid a dependency in nixpkgs for this file. | ||||
|   mergeAttrs = x: y: x // y; | ||||
|   concatMapAttrs = f: v: foldl' mergeAttrs { } (attrValues (mapAttrs f v)); | ||||
|   removePubSuffix = | ||||
|     s: | ||||
|     let | ||||
|       maybeMatch = match "(.*)\.pub" s; | ||||
|     in | ||||
|     if maybeMatch == null then s else elemAt maybeMatch 0; | ||||
|   removeTrailingWhitespace = s: elemAt (match "(.*[^[:space:]])[[:space:]]*" s) 0; | ||||
| 
 | ||||
|   collectKeys = | ||||
|     dir: mapAttrs (name: _: removeTrailingWhitespace (readFile (dir + "/${name}"))) (readDir dir); | ||||
|     dir: | ||||
|     concatMapAttrs (name: _: { | ||||
|       "${removePubSuffix name}" = removeTrailingWhitespace (readFile (dir + "/${name}")); | ||||
|     }) (readDir dir); | ||||
| in | ||||
| { | ||||
|   contributors = collectKeys ./contributors; | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue