Rebuild credits

Had to update the script now we use weblate
This commit is contained in:
Chocobozzz 2020-01-09 12:00:47 +01:00
parent e0b56b7495
commit 41ee83423c
No known key found for this signature in database
GPG key ID: 583A612D890159BE
3 changed files with 448 additions and 315 deletions

View file

@ -1,262 +1,314 @@
# Code contributors
# Code & Translators contributors
* [Chocobozzz](https://github.com/Chocobozzz)
* [rigelk](https://github.com/rigelk)
* [Nutomic](https://github.com/Nutomic)
* [gegeweb](https://github.com/gegeweb)
* [joshmorel](https://github.com/joshmorel)
* [Jorropo](https://github.com/Jorropo)
* [frankstrater](https://github.com/frankstrater)
* [buoyantair](https://github.com/buoyantair)
* [fflorent](https://github.com/fflorent)
* [bnjbvr](https://github.com/bnjbvr)
* [alcalyn](https://github.com/alcalyn)
* [jankeromnes](https://github.com/jankeromnes)
* [lucas-dclrcq](https://github.com/lucas-dclrcq)
* [JohnXLivingston](https://github.com/JohnXLivingston)
* [DavidLibeau](https://github.com/DavidLibeau)
* [kaiyou](https://github.com/kaiyou)
* [ldidry](https://github.com/ldidry)
* [McFlat](https://github.com/McFlat)
* [DimitriGilbert](https://github.com/DimitriGilbert)
* [floSoX](https://github.com/floSoX)
* [Green-Star](https://github.com/Green-Star)
* [NassimBounouas](https://github.com/NassimBounouas)
* [thomaskuntzz](https://github.com/thomaskuntzz)
* [rezonant](https://github.com/rezonant)
* [Wirebrass](https://github.com/Wirebrass)
* [clementbrizard](https://github.com/clementbrizard)
* [LecygneNoir](https://github.com/LecygneNoir)
* [angristan](https://github.com/angristan)
* [okhin](https://github.com/okhin)
* [daftaupe](https://github.com/daftaupe)
* [tcitworld](https://github.com/tcitworld)
* [dedesite](https://github.com/dedesite)
* [Nautigsam](https://github.com/Nautigsam)
* [scanlime](https://github.com/scanlime)
* [am97](https://github.com/am97)
* [dadall](https://github.com/dadall)
* [jonathanraes](https://github.com/jonathanraes)
* [yohanboniface](https://github.com/yohanboniface)
* [anoadragon453](https://github.com/anoadragon453)
* [auberanger](https://github.com/auberanger)
* [darnuria](https://github.com/darnuria)
* [rhaamo](https://github.com/rhaamo)
* [mrflos](https://github.com/mrflos)
* [Yetangitu](https://github.com/Yetangitu)
* [jocelynj](https://github.com/jocelynj)
* [lucaspontoexe](https://github.com/lucaspontoexe)
* [Findus23](https://github.com/Findus23)
* [flyingrub](https://github.com/flyingrub)
* [valvin1](https://github.com/valvin1)
* [taziden](https://github.com/taziden)
* [AutomCoding](https://github.com/AutomCoding)
* [sticmac](https://github.com/sticmac)
* [barbeque](https://github.com/barbeque)
* [luzpaz](https://github.com/luzpaz)
* [acid-chicken](https://github.com/acid-chicken)
* [louistio](https://github.com/louistio)
* [qsypoq](https://github.com/qsypoq)
* [daker](https://github.com/daker)
* [xyproto](https://github.com/xyproto)
* [NaPs](https://github.com/NaPs)
* [Anton-Latukha](https://github.com/Anton-Latukha)
* [noplanman](https://github.com/noplanman)
* [austinheap](https://github.com/austinheap)
* [BO41](https://github.com/BO41)
* [benabbottnz](https://github.com/benabbottnz)
* [ewft](https://github.com/ewft)
* [bradsk88](https://github.com/bradsk88)
* [trosel](https://github.com/trosel)
* [Ealhad](https://github.com/Ealhad)
* [claudehohl](https://github.com/claudehohl)
* [DeeJayBro](https://github.com/DeeJayBro)
* [dirkkelly](https://github.com/dirkkelly)
* [Edznux](https://github.com/Edznux)
* [ebrehault](https://github.com/ebrehault)
* [DatBewar](https://github.com/DatBewar)
* [ReK2Fernandez](https://github.com/ReK2Fernandez)
* [grizio](https://github.com/grizio)
* [Glandos](https://github.com/Glandos)
* [lanodan](https://github.com/lanodan)
* [HesioZ](https://github.com/HesioZ)
* [jacen92](https://github.com/jacen92)
* [realityfabric](https://github.com/realityfabric)
* [jlebras](https://github.com/jlebras)
* [Knackie](https://github.com/Knackie)
* [mkody](https://github.com/mkody)
* [pichouk](https://github.com/pichouk)
* [LeoMouyna](https://github.com/LeoMouyna)
* [Leopere](https://github.com/Leopere)
* [LiPeK](https://github.com/LiPeK)
* [radiantly](https://github.com/radiantly)
* [LoveIsGrief](https://github.com/LoveIsGrief)
* [zapashcanon](https://github.com/zapashcanon)
* [mart-e](https://github.com/mart-e)
* [0mp](https://github.com/0mp)
* [magopian](https://github.com/magopian)
* [mkoppmann](https://github.com/mkoppmann)
* [1000i100](https://github.com/1000i100)
* [roipoussiere](https://github.com/roipoussiere)
* [zallek](https://github.com/zallek)
* [zeograd](https://github.com/zeograd)
* [pjoubert-](https://github.com/pjoubert-)
* [gbip](https://github.com/gbip)
* [PhieF](https://github.com/PhieF)
* [pdurbin](https://github.com/pdurbin)
* [quentinDupont](https://github.com/quentinDupont)
* [Quenty31](https://github.com/Quenty31)
* [sundowndev](https://github.com/sundowndev)
* [robinkooli](https://github.com/robinkooli)
* [sesn](https://github.com/sesn)
* [ALSai](https://github.com/ALSai)
* [Simounet](https://github.com/Simounet)
* [sschueller](https://github.com/sschueller)
* [TrashMacNugget](https://github.com/TrashMacNugget)
* [FrozenDroid](https://github.com/FrozenDroid)
* [fallen](https://github.com/fallen)
* [melongbob](https://github.com/melongbob)
* [anmol26s](https://github.com/anmol26s)
* [imbsky](https://github.com/imbsky)
* [ctlaltdefeat](https://github.com/ctlaltdefeat)
* [jomo](https://github.com/jomo)
* [libertysoft3](https://github.com/libertysoft3)
* [lsde](https://github.com/lsde)
* [brain-zhang](https://github.com/brain-zhang)
* [norrist](https://github.com/norrist)
* [osauzet](https://github.com/osauzet)
* [SansPseudoFix](https://github.com/SansPseudoFix)
* [tomamplius](https://github.com/tomamplius)
* [tuxayo](https://github.com/tuxayo)
* [victor-long](https://github.com/victor-long)
* [zacharystenger](https://github.com/zacharystenger)
* [ewasion](https://github.com/ewasion)
# Translation contributors
* [abdhessuk](https://trad.framasoft.org/zanata/profile/view/abdhessuk)
* [abidin24](https://trad.framasoft.org/zanata/profile/view/abidin24)
* [aditoo](https://trad.framasoft.org/zanata/profile/view/aditoo)
* [alice](https://trad.framasoft.org/zanata/profile/view/alice)
* [anastasia](https://trad.framasoft.org/zanata/profile/view/anastasia)
* [autom](https://trad.framasoft.org/zanata/profile/view/autom)
* [balaji](https://trad.framasoft.org/zanata/profile/view/balaji)
* [bristow](https://trad.framasoft.org/zanata/profile/view/bristow)
* [butterflyoffire](https://trad.framasoft.org/zanata/profile/view/butterflyoffire)
* [chocobozzz](https://trad.framasoft.org/zanata/profile/view/chocobozzz)
* [claichou](https://trad.framasoft.org/zanata/profile/view/claichou)
* [degrange](https://trad.framasoft.org/zanata/profile/view/degrange)
* [dibek](https://trad.framasoft.org/zanata/profile/view/dibek)
* [edu](https://trad.framasoft.org/zanata/profile/view/edu)
* [ehsaan](https://trad.framasoft.org/zanata/profile/view/ehsaan)
* [esoforte](https://trad.framasoft.org/zanata/profile/view/esoforte)
* [fkohrt](https://trad.framasoft.org/zanata/profile/view/fkohrt)
* [giqtaqisi](https://trad.framasoft.org/zanata/profile/view/giqtaqisi)
* [goofy](https://trad.framasoft.org/zanata/profile/view/goofy)
* [gorkaazk](https://trad.framasoft.org/zanata/profile/view/gorkaazk)
* [gwendald](https://trad.framasoft.org/zanata/profile/view/gwendald)
* [h3zjp](https://trad.framasoft.org/zanata/profile/view/h3zjp)
* [jfblanc](https://trad.framasoft.org/zanata/profile/view/jfblanc)
* [jhertel](https://trad.framasoft.org/zanata/profile/view/jhertel)
* [jmf](https://trad.framasoft.org/zanata/profile/view/jmf)
* [jorropo](https://trad.framasoft.org/zanata/profile/view/jorropo)
* [kairozen](https://trad.framasoft.org/zanata/profile/view/kairozen)
* [kedemferre](https://trad.framasoft.org/zanata/profile/view/kedemferre)
* [kousha](https://trad.framasoft.org/zanata/profile/view/kousha)
* [krkk](https://trad.framasoft.org/zanata/profile/view/krkk)
* [landrok](https://trad.framasoft.org/zanata/profile/view/landrok)
* [leeroyepold48](https://trad.framasoft.org/zanata/profile/view/leeroyepold48)
* [m4sk1n](https://trad.framasoft.org/zanata/profile/view/m4sk1n)
* [matograine](https://trad.framasoft.org/zanata/profile/view/matograine)
* [medow](https://trad.framasoft.org/zanata/profile/view/medow)
* [mhu](https://trad.framasoft.org/zanata/profile/view/mhu)
* [midgard](https://trad.framasoft.org/zanata/profile/view/midgard)
* [nbrucy](https://trad.framasoft.org/zanata/profile/view/nbrucy)
* [nitai](https://trad.framasoft.org/zanata/profile/view/nitai)
* [noncommutativegeo](https://trad.framasoft.org/zanata/profile/view/noncommutativegeo)
* [nopsidy](https://trad.framasoft.org/zanata/profile/view/nopsidy)
* [nvivant](https://trad.framasoft.org/zanata/profile/view/nvivant)
* [osoitz](https://trad.framasoft.org/zanata/profile/view/osoitz)
* [outloudvi](https://trad.framasoft.org/zanata/profile/view/outloudvi)
* [quentin](https://trad.framasoft.org/zanata/profile/view/quentin)
* [quentind](https://trad.framasoft.org/zanata/profile/view/quentind)
* [rafaelff](https://trad.framasoft.org/zanata/profile/view/rafaelff)
* [rigelk](https://trad.framasoft.org/zanata/profile/view/rigelk)
* [s8321414](https://trad.framasoft.org/zanata/profile/view/s8321414)
* [sato_ss](https://trad.framasoft.org/zanata/profile/view/sato_ss)
* [sercom_kc](https://trad.framasoft.org/zanata/profile/view/sercom_kc)
* [severo](https://trad.framasoft.org/zanata/profile/view/severo)
* [silkevicious](https://trad.framasoft.org/zanata/profile/view/silkevicious)
* [sosha](https://trad.framasoft.org/zanata/profile/view/sosha)
* [spla](https://trad.framasoft.org/zanata/profile/view/spla)
* [strubbl](https://trad.framasoft.org/zanata/profile/view/strubbl)
* [swedneck](https://trad.framasoft.org/zanata/profile/view/swedneck)
* [tagomago](https://trad.framasoft.org/zanata/profile/view/tagomago)
* [talone](https://trad.framasoft.org/zanata/profile/view/talone)
* [thibaultmartin](https://trad.framasoft.org/zanata/profile/view/thibaultmartin)
* [tirifto](https://trad.framasoft.org/zanata/profile/view/tirifto)
* [tuxayo](https://trad.framasoft.org/zanata/profile/view/tuxayo)
* [unextro](https://trad.framasoft.org/zanata/profile/view/unextro)
* [unzarida](https://trad.framasoft.org/zanata/profile/view/unzarida)
* [vincent](https://trad.framasoft.org/zanata/profile/view/vincent)
* [wanhua](https://trad.framasoft.org/zanata/profile/view/wanhua)
* [xinayder](https://trad.framasoft.org/zanata/profile/view/xinayder)
* [xosem](https://trad.framasoft.org/zanata/profile/view/xosem)
* [zveryok](https://trad.framasoft.org/zanata/profile/view/zveryok)
* [6543](https://trad.framasoft.org/zanata/profile/view/6543)
* [aasami](https://trad.framasoft.org/zanata/profile/view/aasami)
* [alidemirtas](https://trad.framasoft.org/zanata/profile/view/alidemirtas)
* [alpha](https://trad.framasoft.org/zanata/profile/view/alpha)
* [ariasuni](https://trad.framasoft.org/zanata/profile/view/ariasuni)
* [bfonton](https://trad.framasoft.org/zanata/profile/view/bfonton)
* [c0dr](https://trad.framasoft.org/zanata/profile/view/c0dr)
* [canony](https://trad.framasoft.org/zanata/profile/view/canony)
* [cat](https://trad.framasoft.org/zanata/profile/view/cat)
* [clerie](https://trad.framasoft.org/zanata/profile/view/clerie)
* [curupira](https://trad.framasoft.org/zanata/profile/view/curupira)
* [dhsets](https://trad.framasoft.org/zanata/profile/view/dhsets)
* [digitalkiller](https://trad.framasoft.org/zanata/profile/view/digitalkiller)
* [dwsage](https://trad.framasoft.org/zanata/profile/view/dwsage)
* [flauta](https://trad.framasoft.org/zanata/profile/view/flauta)
* [frankstrater](https://trad.framasoft.org/zanata/profile/view/frankstrater)
* [gillux](https://trad.framasoft.org/zanata/profile/view/gillux)
* [gunchleoc](https://trad.framasoft.org/zanata/profile/view/gunchleoc)
* [jaidedtd](https://trad.framasoft.org/zanata/profile/view/jaidedtd)
* [joss2lyon](https://trad.framasoft.org/zanata/profile/view/joss2lyon)
* [kekkotranslates](https://trad.framasoft.org/zanata/profile/view/kekkotranslates)
* [kingu](https://trad.framasoft.org/zanata/profile/view/kingu)
* [kittybecca](https://trad.framasoft.org/zanata/profile/view/kittybecca)
* [knuxify](https://trad.framasoft.org/zanata/profile/view/knuxify)
* [lapor](https://trad.framasoft.org/zanata/profile/view/lapor)
* [laufor](https://trad.framasoft.org/zanata/profile/view/laufor)
* [lstamellos](https://trad.framasoft.org/zanata/profile/view/lstamellos)
* [lw1](https://trad.framasoft.org/zanata/profile/view/lw1)
* [mablr](https://trad.framasoft.org/zanata/profile/view/mablr)
* [marcinmalecki](https://trad.framasoft.org/zanata/profile/view/marcinmalecki)
* [mayana](https://trad.framasoft.org/zanata/profile/view/mayana)
* [mikeorlov](https://trad.framasoft.org/zanata/profile/view/mikeorlov)
* [nin](https://trad.framasoft.org/zanata/profile/view/nin)
* [norbipeti](https://trad.framasoft.org/zanata/profile/view/norbipeti)
* [ppnplus](https://trad.framasoft.org/zanata/profile/view/ppnplus)
* [predatorix](https://trad.framasoft.org/zanata/profile/view/predatorix)
* [robin](https://trad.framasoft.org/zanata/profile/view/robin)
* [rond](https://trad.framasoft.org/zanata/profile/view/rond)
* [secreet](https://trad.framasoft.org/zanata/profile/view/secreet)
* [sftblw](https://trad.framasoft.org/zanata/profile/view/sftblw)
* [sporiff](https://trad.framasoft.org/zanata/profile/view/sporiff)
* [tekuteku](https://trad.framasoft.org/zanata/profile/view/tekuteku)
* [thecatjustmeow](https://trad.framasoft.org/zanata/profile/view/thecatjustmeow)
* [tmota](https://trad.framasoft.org/zanata/profile/view/tmota)
* [uranix](https://trad.framasoft.org/zanata/profile/view/uranix)
* [wakutiteo](https://trad.framasoft.org/zanata/profile/view/wakutiteo)
* [wonderingdane](https://trad.framasoft.org/zanata/profile/view/wonderingdane)
* [zeynepeliacik](https://trad.framasoft.org/zanata/profile/view/zeynepeliacik)
* Chocobozzz
* Rigel Kent
* Bigard Florian
* Felix Ableitner
* Gérald Niel
* Jorropo
* Josh Morel
* BO41
* Julien Maulny
* Filip Bengtsson
* Frank Sträter
* buoyantair
* Attila F
* Benjamin Bouvier
* Jan Keromnes
* John Livingston
* Lucas Declercq
* David Libeau
* Florent F
* Francesc
* Luc Didry
* Nassim Bounouas
* BRAINS YUM
* Dimitri Gilbert
* Florent Poinsaut
* Green-Star
* Micah Elizabeth Scott
* Phongpanot
* SVNET Libre
* Thomas Kuntz
* William Lahti
* Wirebrass
* Angristan
* GunChleoc
* Okhin
* Pierre-Alain TORET
* Thomas Citharel
* clementbrizard
* kaiyou
* Andréas Livet
* Andrés Maldonado
* Aurélien Bertron
* Hans Meiser
* Jefferson Hernandez
* Kemal Oktay Aktoğan
* LecygneNoir
* Leopere
* Marcin Mikołajczak
* Yohan Boniface
* am97
* anotheranonymoususer
* dada
* frankdelange
* jonathanraes
* Andrew Morgan
* Aurélien Béranger
* Axel Viala
* ButterflyOfFire
* Dashie
* Dirk Kelly
* Florent Fayolle
* Florian
* Frank de Lange
* Gaëtan Rizio
* Jocelyn Jaubert
* Julien Lemaire
* Lucas Teixeira
* Lukas Winkler
* Millicent Billette
* NorbiPeti
* Pierre Jaury
* Quentin
* Ronan
* SerCom_KC
* Valvin
* ahmadsharifian
* taziden
* victor héry
* Acid Chicken (硫酸鶏)
* Adam Gauthier
* Adam Magnier
* Adnane Belmadiaf
* Alexander F. Rødseth
* Antoine Millet
* Anton Latukha
* Armando Lüscher
* Artem Prosvetov
* Asier Iturralde Sarasola
* Austin Heap
* Autom
* Ben Abbott
* Ben Lubar
* Benjamin EWFT
* Brad Johnson
* Cale
* Ch
* Charles de Lacombe
* Claude
* Clément Brizard
* DeeJayBro
* DontUseGithub
* Edouard SCHWEISGUTH
* Edwin Alberto Amado Baron
* Eric Brehault
* Erwan Croze
* Fabio Agreles Bezerra
* Fernandez, ReK2
* Glandos
* Haelwenn (lanodan) Monnier
* HesioZ
* Jacen
* Jacob
* Jacques Foucry
* Jagannath Bhat
* Jarosław Maciejewski
* Jeff Huang
* Jessica Fairchild
* Julien Le Bras
* Knackie
* Kody
* Kyâne Pichou
* Leo Mouyna
* Lesterpig
* LiPeK
* Lint
* LoveIsGrief
* Léo Andrès
* ManMade-cube42
* Manuel Viens
* Marco Zehe
* Markus Richter
* Martin Trigaux
* Mateusz Piotrowski
* Mathieu Agopian
* Matthieu De Beule
* Michael Koppmann
* Mike
* MrGiga
* Mélanie Pin
* Nathanaël J
* Nicolas Fortin
* Niklas Reimer
* Nitesh Sawant
* Olivier Jolly
* Pablo Joubert
* Paul FLORENCE
* PhieF
* Philip Durbin
* Predatorix Phoenix
* Quentin Dupont
* Quentí
* Raphael
* Robin
* Sankar
* Simon Gilliot
* Simounet
* Stefan Schüller
* Tomás Sebastián Romero
* TrashMacNugget
* Vincent Stakenburg
* Yann Sionneau
* Yorwba
* Yun
* Zig-03
* anmol26s
* augier
* bikepunk
* bsky
* ctlaltdefeat
* jomo
* libertysoft3
* lsde
* luz.paz
* luzpaz
* memorybox
* mike stedman
* morteza
* norrist
* numéro6
* osauzet
* potedeo
* spf
* tilllt
* tomamplius
* tuxayo
* victor-long
* zacharystenger
* noisawe
* abdhessuk
* abidin24
* aditoo
* alice
* anastasia
* autom
* balaji
* bristow
* butterflyoffire
* claichou
* degrange
* dibek
* edu
* ehsaan
* esoforte
* fkohrt
* giqtaqisi
* goofy
* gorkaazk
* gwendald
* h3zjp
* jfblanc
* jhertel
* jmf
* jorropo
* kairozen
* kedemferre
* kousha
* krkk
* landrok
* leeroyepold48
* m4sk1n
* matograine
* medow
* mhu
* midgard
* nbrucy
* nitai
* noncommutativegeo
* nopsidy
* nvivant
* osoitz
* outloudvi
* quentin
* quentind
* rafaelff
* rigelk
* s8321414
* sato_ss
* sercom_kc
* severo
* silkevicious
* sosha
* spla
* strubbl
* swedneck
* tagomago
* talone
* thibaultmartin
* tirifto
* tuxayo
* unextro
* unzarida
* vincent
* wanhua
* xinayder
* xosem
* zveryok
* 6543
* aasami
* alidemirtas
* alpha
* ariasuni
* bfonton
* c0dr
* canony
* cat
* clerie
* curupira
* dhsets
* digitalkiller
* dwsage
* flauta
* frankstrater
* gillux
* gunchleoc
* jaidedtd
* joss2lyon
* kekkotranslates
* kingu
* kittybecca
* knuxify
* lapor
* laufor
* lstamellos
* lw1
* mablr
* marcinmalecki
* mayana
* mikeorlov
* nin
* norbipeti
* ppnplus
* predatorix
* robin
* rond
* secreet
* sftblw
* sporiff
* tekuteku
* thecatjustmeow
* tmota
* uranix
* wakutiteo
* wonderingdane
* zeynepeliacik
# Design
* [Olivier Massain](https://twitter.com/omassain)
* [Olivier Massain](https://dribbble.com/omassain)
# Icons

View file

@ -5,6 +5,7 @@ registerTSPaths()
import { doRequest } from '../server/helpers/requests'
import { readFileSync } from 'fs-extra'
import { uniqBy } from 'lodash'
import { execCLI } from '@shared/extra-utils'
run()
.then(() => process.exit(0))
@ -14,33 +15,20 @@ run()
})
async function run () {
const blacklist = getContributorsBlacklist()
{
const contributors = await fetchGithub('https://api.github.com/repos/chocobozzz/peertube/contributors')
let contributors = await getGitContributors()
contributors = contributors.concat(getZanataContributors())
contributors = contributors.filter(c => blacklist[c.username] !== true)
console.log('# Code contributors\n')
for (const contributor of contributors) {
const contributorUrl = contributor.url.replace('api.github.com/users', 'github.com')
console.log(` * [${contributor.login}](${contributorUrl})`)
}
}
{
const zanataConfig = readFileSync(require('os').homedir() + '/.config/zanata.ini').toString()
const zanataUsername = zanataConfig.match('.username=([^\n]+)')[1]
const zanataToken = zanataConfig.match('.key=([^\n]+)')[1]
const translators = await fetchZanata(zanataUsername, zanataToken)
console.log('\n\n# Translation contributors\n')
for (const translator of translators) {
console.log(` * [${translator.username}](https://trad.framasoft.org/zanata/profile/view/${translator.username})`)
}
console.log('# Code & Translators contributors\n')
for (const contributor of contributors) {
console.log(` * ${contributor.username}`)
}
{
console.log('\n\n# Design\n')
console.log(' * [Olivier Massain](https://twitter.com/omassain)')
console.log(' * [Olivier Massain](https://dribbble.com/omassain)')
console.log('\n\n# Icons\n')
console.log(' * [Robbie Pearce](https://robbiepearce.com/softies/)')
@ -49,47 +37,140 @@ async function run () {
}
}
function get (url: string, headers: any = {}) {
return doRequest<any>({
uri: url,
json: true,
headers: Object.assign(headers, {
'User-Agent': 'PeerTube-App'
})
}).then(res => res.body)
async function getGitContributors () {
const output = await execCLI(`git --no-pager shortlog -sn < /dev/tty | sed 's/^\\s\\+[0-9]\\+\\s\\+//g'`)
return output.split('\n')
.filter(l => !!l)
.map(l => ({ username: l }))
}
async function fetchGithub (url: string) {
let next = url
let allResult = []
// Zanata is dead, don't loose the contributors name
function getZanataContributors () {
return [ { 'username': 'abdhessuk', 'name': 'Abd Hessuk' }, { 'username': 'abidin24', 'name': 'abidin toumi' }, {
'username': 'aditoo',
'name': 'Lorem Ipsum'
}, { 'username': 'alice', 'name': 'Alice' }, { 'username': 'anastasia', 'name': 'Anastasia' }, {
'username': 'autom',
'name': 'Filip Bengtsson'
}, { 'username': 'balaji', 'name': 'Balaji' }, { 'username': 'bristow', 'name': 'Cédric F.' }, {
'username': 'butterflyoffire',
'name': 'ButterflyOfFire'
}, { 'username': 'chocobozzz', 'name': 'Chocobozzz' }, { 'username': 'claichou', 'name': 'Claire Mohin' }, {
'username': 'degrange',
'name': 'Degrange Mathieu'
}, { 'username': 'dibek', 'name': 'Giuseppe Di Bella' }, { 'username': 'edu', 'name': 'eduardo' }, {
'username': 'ehsaan',
'name': 'ehsaan'
}, { 'username': 'esoforte', 'name': 'Ondřej Kotas' }, { 'username': 'fkohrt', 'name': 'Florian Kohrt' }, {
'username': 'giqtaqisi',
'name': 'Ian Townsend'
}, { 'username': 'goofy', 'name': 'goofy' }, { 'username': 'gorkaazk', 'name': 'Gorka Azkarate Zubiaur' }, {
'username': 'gwendald',
'name': 'GwendalD'
}, { 'username': 'h3zjp', 'name': 'h3zjp' }, { 'username': 'jfblanc', 'name': 'Joan Francés Blanc' }, {
'username': 'jhertel',
'name': 'Jean Hertel'
}, { 'username': 'jmf', 'name': 'Jan-Michael Franz' }, { 'username': 'jorropo', 'name': 'Jorropo' }, {
'username': 'kairozen',
'name': 'Geoffrey Baudelet'
}, { 'username': 'kedemferre', 'name': 'Kédem Ferré' }, { 'username': 'kousha', 'name': 'Kousha Zanjani' }, {
'username': 'krkk',
'name': 'Karol Kosek'
}, { 'username': 'landrok', 'name': 'Landrok' }, { 'username': 'leeroyepold48', 'name': 'Leeroy Epold' }, {
'username': 'm4sk1n',
'name': 'marcin mikołajczak'
}, { 'username': 'matograine', 'name': 'tom ngr' }, { 'username': 'medow', 'name': 'Mahir Ahmed' }, {
'username': 'mhu',
'name': 'Max Hübner'
}, { 'username': 'midgard', 'name': 'Midgard' }, { 'username': 'nbrucy', 'name': 'N. B.' }, {
'username': 'nitai',
'name': 'nitai bezerra'
}, { 'username': 'noncommutativegeo', 'name': 'Andrea Panontin' }, { 'username': 'nopsidy', 'name': 'McFlat' }, {
'username': 'nvivant',
'name': 'Nicolas Vivant'
}, { 'username': 'osoitz', 'name': 'Osoitz' }, { 'username': 'outloudvi', 'name': 'Outvi V' }, {
'username': 'quentin',
'name': 'Quentí'
}, { 'username': 'quentind', 'name': 'Quentin Dupont' }, { 'username': 'rafaelff', 'name': 'Rafael Fontenelle' }, {
'username': 'rigelk',
'name': 'Rigel Kent'
}, { 'username': 's8321414', 'name': 'Jeff Huang' }, { 'username': 'sato_ss', 'name': 'Satoshi Shirosaka' }, {
'username': 'sercom_kc',
'name': 'SerCom_KC'
}, { 'username': 'severo', 'name': 'Sylvain Lesage' }, { 'username': 'silkevicious', 'name': 'Sylke Vicious' }, {
'username': 'sosha',
'name': 'Sosha'
}, { 'username': 'spla', 'name': 'spla' }, { 'username': 'strubbl', 'name': 'Sven' }, {
'username': 'swedneck',
'name': 'Tim Stahel'
}, { 'username': 'tagomago', 'name': 'Tagomago' }, { 'username': 'talone', 'name': 'TitiAlone' }, {
'username': 'thibaultmartin',
'name': 'Thibault Martin'
}, { 'username': 'tirifto', 'name': 'Tirifto' }, { 'username': 'tuxayo', 'name': 'Victor Grousset/tuxayo' }, {
'username': 'unextro',
'name': 'Ondřej Pokorný'
}, { 'username': 'unzarida', 'name': 'unzarida' }, { 'username': 'vincent', 'name': 'Vincent Laporte' }, {
'username': 'wanhua',
'name': 'wanhua'
}, { 'username': 'xinayder', 'name': 'Alexandre' }, { 'username': 'xosem', 'name': 'Xosé M.' }, {
'username': 'zveryok',
'name': 'Nikitin Stanislav'
}, { 'username': '6543', 'name': '6543' }, { 'username': 'aasami', 'name': 'Miroslav Ďurian' }, {
'username': 'alidemirtas',
'name': 'Ali Demirtas'
}, { 'username': 'alpha', 'name': 'Alpha' }, { 'username': 'ariasuni', 'name': 'Mélanie Chauvel' }, {
'username': 'bfonton',
'name': 'Baptiste Fonton'
}, { 'username': 'c0dr', 'name': 'c0dr lnx' }, { 'username': 'canony', 'name': 'canony' }, {
'username': 'cat',
'name': 'Cat'
}, { 'username': 'clerie', 'name': 'Clemens Riese' }, { 'username': 'curupira', 'name': 'Curupira' }, {
'username': 'dhsets',
'name': 'djsets'
}, { 'username': 'digitalkiller', 'name': 'Digital Killer' }, { 'username': 'dwsage', 'name': 'd.w. sage' }, {
'username': 'flauta',
'name': 'Andrea Primiani'
}, { 'username': 'frankstrater', 'name': 'Frank Sträter' }, { 'username': 'gillux', 'name': 'gillux' }, {
'username': 'gunchleoc',
'name': 'GunChleoc'
}, { 'username': 'jaidedtd', 'name': 'Jenga Phoenix' }, { 'username': 'joss2lyon', 'name': 'Josselin' }, {
'username': 'kekkotranslates',
'name': 'Francesco'
}, { 'username': 'kingu', 'name': 'Allan Nordhøy' }, { 'username': 'kittybecca', 'name': 'Rivka bat Tsvi' }, {
'username': 'knuxify',
'name': 'knuxify'
}, { 'username': 'lapor', 'name': 'Kristijan Tkalec' }, { 'username': 'laufor', 'name': 'Lau For' }, {
'username': 'lstamellos',
'name': 'Loukas Stamellos'
}, { 'username': 'lw1', 'name': 'Lukas Winkler' }, { 'username': 'mablr', 'name': 'Mablr' }, {
'username': 'marcinmalecki',
'name': 'Marcin Małecki'
}, { 'username': 'mayana', 'name': 'Mayana' }, { 'username': 'mikeorlov', 'name': 'Michael Orlov' }, {
'username': 'nin',
'name': 'nz'
}, { 'username': 'norbipeti', 'name': 'NorbiPeti' }, { 'username': 'ppnplus', 'name': 'Phongpanot Phairat' }, {
'username': 'predatorix',
'name': 'Predatorix'
}, { 'username': 'robin', 'name': 'Robin Lahtinen' }, { 'username': 'rond', 'name': 'rondnelly nunes' }, {
'username': 'secreet',
'name': 'Secreet'
}, { 'username': 'sftblw', 'name': 'sftblw' }, { 'username': 'sporiff', 'name': 'Ciarán Ainsworth' }, {
'username': 'tekuteku',
'name': 'tekuteku'
}, { 'username': 'thecatjustmeow', 'name': 'Nguyen Huynh Hung' }, { 'username': 'tmota', 'name': 'Tiago Mota' }, {
'username': 'uranix',
'name': 'Michal Mauser'
}, { 'username': 'wakutiteo', 'name': 'Markel' }, {
'username': 'wonderingdane',
'name': 'Nicolai Ireneo-Larsen'
}, { 'username': 'zeynepeliacik', 'name': 'Zeynep Can' } ]
}
let i = 1
// Hard limit
while (i < 20) {
const result = await get(next + '?page=' + i)
if (result.length === 0) break
allResult = allResult.concat(result)
i++
function getContributorsBlacklist () {
return {
'Florian Bigard': true,
'chocobozzz': true,
'Rigel': true
}
return allResult
}
async function fetchZanata (zanataUsername: string, zanataPassword: string) {
const today = new Date().toISOString().split('T')[0]
const year2018 = `https://trad.framasoft.org/zanata/rest/project/peertube/version/develop/contributors/2018-01-01..2019-01-01`
const year2019 = `https://trad.framasoft.org/zanata/rest/project/peertube/version/develop/contributors/2019-01-01..${today}`
const headers = {
'X-Auth-User': zanataUsername,
'X-Auth-Token': zanataPassword
}
const [ results2018, results2019 ] = await Promise.all([
get(year2018, headers),
get(year2019, headers)
])
return uniqBy(results2018.concat(results2019) as { username: string }[], 'username')
}

View file

@ -6,7 +6,7 @@ function getEnvCli (server?: ServerInfo) {
return `NODE_ENV=test NODE_APP_INSTANCE=${server.serverNumber}`
}
async function execCLI (command: string) {
async function execCLI (command: string,) {
return new Promise<string>((res, rej) => {
exec(command, (err, stdout, stderr) => {
if (err) return rej(err)