41 lines
1.2 KiB
PowerShell
Executable File
41 lines
1.2 KiB
PowerShell
Executable File
#!/usr/bin/env pwsh
|
|
|
|
# TODO: This is definitely gonna stop being accurate when we get above 100 contributors on one of the repos.
|
|
$engineJson = (Invoke-WebRequest "https://api.github.com/repos/space-wizards/RobustToolbox/contributors?per_page=100").Content | convertfrom-json
|
|
$contentJson = (Invoke-WebRequest "https://api.github.com/repos/space-wizards/space-station-14/contributors?per_page=100").Content | convertfrom-json
|
|
|
|
function load_contribs([string] $repo)
|
|
{
|
|
$qParams = @{
|
|
"per_page" = 100
|
|
}
|
|
|
|
$url = "https://api.github.com/repos/{0}/contributors" -f $repo
|
|
|
|
$r = @()
|
|
|
|
while ($null -ne $url)
|
|
{
|
|
$resp = Invoke-WebRequest $url -Body $qParams
|
|
|
|
$url = $resp.RelationLink.next
|
|
|
|
$j = ConvertFrom-Json $resp.Content
|
|
$r += $j
|
|
}
|
|
|
|
return $r
|
|
}
|
|
|
|
$engineJson = load_contribs("space-wizards/RobustToolbox")
|
|
$contentJson = load_contribs("space-wizards/space-station-14")
|
|
|
|
$scriptDir = Split-Path -Path $MyInvocation.MyCommand.Definition -Parent
|
|
$bad = get-content $(join-path $scriptDir "ignored_github_contributors.txt")
|
|
|
|
($engineJson).login + ($contentJson).login `
|
|
| select -unique `
|
|
| where { $bad -notcontains $_ } `
|
|
| Sort-object `
|
|
| Join-String -Separator ", "
|