Rebuild credits

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

View File

@ -5,6 +5,7 @@ registerTSPaths()
import { doRequest } from '../server/helpers/requests' import { doRequest } from '../server/helpers/requests'
import { readFileSync } from 'fs-extra' import { readFileSync } from 'fs-extra'
import { uniqBy } from 'lodash' import { uniqBy } from 'lodash'
import { execCLI } from '@shared/extra-utils'
run() run()
.then(() => process.exit(0)) .then(() => process.exit(0))
@ -14,33 +15,20 @@ run()
}) })
async function run () { async function run () {
const blacklist = getContributorsBlacklist()
{ let contributors = await getGitContributors()
const contributors = await fetchGithub('https://api.github.com/repos/chocobozzz/peertube/contributors') contributors = contributors.concat(getZanataContributors())
contributors = contributors.filter(c => blacklist[c.username] !== true)
console.log('# Code contributors\n') console.log('# Code & Translators contributors\n')
for (const contributor of contributors) { for (const contributor of contributors) {
const contributorUrl = contributor.url.replace('api.github.com/users', 'github.com') console.log(` * ${contributor.username}`)
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('\n\n# Design\n') 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('\n\n# Icons\n')
console.log(' * [Robbie Pearce](https://robbiepearce.com/softies/)') console.log(' * [Robbie Pearce](https://robbiepearce.com/softies/)')
@ -49,47 +37,140 @@ async function run () {
} }
} }
function get (url: string, headers: any = {}) { async function getGitContributors () {
return doRequest<any>({ const output = await execCLI(`git --no-pager shortlog -sn < /dev/tty | sed 's/^\\s\\+[0-9]\\+\\s\\+//g'`)
uri: url,
json: true, return output.split('\n')
headers: Object.assign(headers, { .filter(l => !!l)
'User-Agent': 'PeerTube-App' .map(l => ({ username: l }))
})
}).then(res => res.body)
} }
async function fetchGithub (url: string) { // Zanata is dead, don't loose the contributors name
let next = url function getZanataContributors () {
let allResult = [] 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 function getContributorsBlacklist () {
return {
// Hard limit 'Florian Bigard': true,
while (i < 20) { 'chocobozzz': true,
const result = await get(next + '?page=' + i) 'Rigel': true
if (result.length === 0) break
allResult = allResult.concat(result)
i++
} }
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}` 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) => { return new Promise<string>((res, rej) => {
exec(command, (err, stdout, stderr) => { exec(command, (err, stdout, stderr) => {
if (err) return rej(err) if (err) return rej(err)