Skip to content

Instantly share code, notes, and snippets.

@JCotton1123
Created May 19, 2015 23:34
Show Gist options
  • Save JCotton1123/023882559360f549ee11 to your computer and use it in GitHub Desktop.
Save JCotton1123/023882559360f549ee11 to your computer and use it in GitHub Desktop.
github-contributor-builder
#!/bin/bash
data_directory="/var/www/html/"
page_size=1000
yesterday=$(date +%Y%m%d -d "yesterday")
count_query="
SELECT count(*) FROM (
SELECT actor.login,repo.name
FROM [githubarchive:day.events_${yesterday}]
GROUP EACH BY actor.login, repo.name
)
"
contribs_query="
SELECT actor.login, repo.name
FROM [githubarchive:day.events_${yesterday}]
GROUP EACH BY actor.login, repo.name
ORDER BY actor.login
LIMIT ${page_size} "
record_count=$(bq query --quiet --format=csv "$count_query" | sed -n -e 2p)
counter=0
while [ $counter -lt $record_count ]; do
page_query="${contribs_query} OFFSET ${counter}"
bq --quiet --format=csv query "${page_query}" > data.csv
while read ln; do
user=$(echo $ln | cut -d ',' -f1)
repo=$(echo $ln | cut -d ',' -f2)
echo "$repo" >> $data_directory/$user.contributions
done < data.csv
((counter+=page_size))
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment