33 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			33 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
|  | #!/usr/bin/env bash
 | ||
|  | # | ||
|  | # Reads the contributors.json file and tries to fill in missing data from other sources. | ||
|  | 
 | ||
|  | readonly MISSING_PICTURE_QUERY='with_entries(select(.value | has("picture") | not)) | keys[]' | ||
|  | readonly MISSING_BIO_QUERY='with_entries(select(.value | has("bio") | not)) | keys[]' | ||
|  | 
 | ||
|  | (     | ||
|  |     cd $(dirname $0)/../../content/marketing | ||
|  | 
 | ||
|  |     for handle in $(jq "$MISSING_PICTURE_QUERY" --raw-output < contributors.json); do | ||
|  |       avatar_url=$(curl --silent -H "Authorization: token ${TOKEN}" https://api.github.com/users/$handle \
 | ||
|  |         | jq ".avatar_url" --raw-output) | ||
|  |       echo "Missing picture for $handle, downloading it from $avatar_url" | ||
|  |       curl -o ../images/bios/$handle.jpg $avatar_url | ||
|  |       newjson=$(mktemp) | ||
|  |       jq ".\"$handle\".picture |= \"$handle.jpg\"" < contributors.json > $newjson | ||
|  |       mv $newjson contributors.json | ||
|  |     done | ||
|  | 
 | ||
|  |     for handle in $(jq "$MISSING_BIO_QUERY" --raw-output < contributors.json); do | ||
|  |       bio=$(curl --silent -H "Authorization: token ${TOKEN}" https://api.github.com/users/$handle \
 | ||
|  |         | jq ".bio|tojson" --raw-output) | ||
|  |       if [[ "$bio" != "null" ]]; then | ||
|  |         echo "Missing bio for $handle, using \"$bio\"" | ||
|  |        | ||
|  |         newjson=$(mktemp) | ||
|  |         jq ".\"$handle\".bio |= \"$bio\"" < contributors.json > $newjson | ||
|  |         mv $newjson contributors.json | ||
|  |       fi | ||
|  |     done | ||
|  | ) |