From 438129f10c0a768906c085788d5625db6b1c754c Mon Sep 17 00:00:00 2001 From: pietervdvn Date: Mon, 14 Feb 2022 19:41:55 +0100 Subject: [PATCH] Regenerate contributor lists --- assets/contributors.json | 353 +------------------------------- assets/translators.json | 1 + package.json | 2 +- scripts/generateContributors.ts | 40 ++++ 4 files changed, 43 insertions(+), 353 deletions(-) create mode 100644 assets/translators.json create mode 100644 scripts/generateContributors.ts diff --git a/assets/contributors.json b/assets/contributors.json index fab92fcd91..37280a5a80 100644 --- a/assets/contributors.json +++ b/assets/contributors.json @@ -1,352 +1 @@ -{ - "contributors": [ - { - "contributor": "pietervdvn", - "commits": 1119 - }, - { - "contributor": "Pieter Vander Vennet", - "commits": 784 - }, - { - "contributor": "Weblate", - "commits": 47 - }, - { - "contributor": "Robin van der Linde", - "commits": 47 - }, - { - "contributor": "Tobias", - "commits": 35 - }, - { - "contributor": "Christian Neumann", - "commits": 33 - }, - { - "contributor": "Win Olario", - "commits": 31 - }, - { - "contributor": "Pieter Fiers", - "commits": 31 - }, - { - "contributor": "karelleketers", - "commits": 26 - }, - { - "contributor": "Ward", - "commits": 24 - }, - { - "contributor": "Artem", - "commits": 23 - }, - { - "contributor": "Sebastian Kürten", - "commits": 19 - }, - { - "contributor": "Arno Deceuninck", - "commits": 18 - }, - { - "contributor": "pgm-chardelv1", - "commits": 17 - }, - { - "contributor": "Joost", - "commits": 17 - }, - { - "contributor": "Marco", - "commits": 16 - }, - { - "contributor": "Allan Nordhøy", - "commits": 16 - }, - { - "contributor": "ToastHawaii", - "commits": 15 - }, - { - "contributor": "Supaplex", - "commits": 14 - }, - { - "contributor": "J. Lavoie", - "commits": 14 - }, - { - "contributor": "WaldiS", - "commits": 13 - }, - { - "contributor": "Bavo Vanderghote", - "commits": 12 - }, - { - "contributor": "LiamSimons", - "commits": 10 - }, - { - "contributor": "Jacque Fresco", - "commits": 9 - }, - { - "contributor": "Midgard", - "commits": 8 - }, - { - "contributor": "Mateusz Konieczny", - "commits": 8 - }, - { - "contributor": "Irina", - "commits": 8 - }, - { - "contributor": "yopaseopor", - "commits": 7 - }, - { - "contributor": "Hosted Weblate", - "commits": 7 - }, - { - "contributor": "Flo Edelmann", - "commits": 7 - }, - { - "contributor": "Binnette", - "commits": 7 - }, - { - "contributor": "Vinicius", - "commits": 6 - }, - { - "contributor": "pelderson", - "commits": 6 - }, - { - "contributor": "lvgx", - "commits": 6 - }, - { - "contributor": "dependabot[bot]", - "commits": 6 - }, - { - "contributor": "Alexey Shabanov", - "commits": 6 - }, - { - "contributor": "Nikolay Korotkiy", - "commits": 5 - }, - { - "contributor": "LeJun", - "commits": 5 - }, - { - "contributor": "David Haberthür", - "commits": 5 - }, - { - "contributor": "William Weber Berrutti", - "commits": 4 - }, - { - "contributor": "Ward Beyens", - "commits": 4 - }, - { - "contributor": "SiegbjornSitumeang", - "commits": 4 - }, - { - "contributor": "seppesantens", - "commits": 4 - }, - { - "contributor": "Polgár Sándor", - "commits": 4 - }, - { - "contributor": "Jan Zabel", - "commits": 4 - }, - { - "contributor": "Hiroshi Miura", - "commits": 4 - }, - { - "contributor": "Fabio Bettani", - "commits": 4 - }, - { - "contributor": "Wiktor Przybylski", - "commits": 3 - }, - { - "contributor": "vankos", - "commits": 3 - }, - { - "contributor": "Reza Almanda", - "commits": 3 - }, - { - "contributor": "Léo Villeveygoux", - "commits": 3 - }, - { - "contributor": "JCGF-OSM", - "commits": 3 - }, - { - "contributor": "Erik Palm", - "commits": 3 - }, - { - "contributor": "Eduardo Addad de Oliveira", - "commits": 3 - }, - { - "contributor": "快乐的老鼠宝宝", - "commits": 2 - }, - { - "contributor": "Stanislas Gueniffey", - "commits": 2 - }, - { - "contributor": "riiga", - "commits": 2 - }, - { - "contributor": "pbarban", - "commits": 2 - }, - { - "contributor": "mic140", - "commits": 2 - }, - { - "contributor": "Leo Alcaraz", - "commits": 2 - }, - { - "contributor": "Jose Luis Infante", - "commits": 2 - }, - { - "contributor": "Jeff Huang", - "commits": 2 - }, - { - "contributor": "Heiko", - "commits": 2 - }, - { - "contributor": "graveelius", - "commits": 2 - }, - { - "contributor": "Damian Tokarski", - "commits": 2 - }, - { - "contributor": "Charlotte Delvaux", - "commits": 2 - }, - { - "contributor": "Tomas Fiers", - "commits": 1 - }, - { - "contributor": "Thibault Molleman", - "commits": 1 - }, - { - "contributor": "tbowdecl97", - "commits": 1 - }, - { - "contributor": "Seppe Santens", - "commits": 1 - }, - { - "contributor": "Sebastian", - "commits": 1 - }, - { - "contributor": "Sean Young", - "commits": 1 - }, - { - "contributor": "Schouppe Joost", - "commits": 1 - }, - { - "contributor": "root", - "commits": 1 - }, - { - "contributor": "Rodrigo Tavares", - "commits": 1 - }, - { - "contributor": "riQQ", - "commits": 1 - }, - { - "contributor": "Raphael Das Gupta", - "commits": 1 - }, - { - "contributor": "Noémie", - "commits": 1 - }, - { - "contributor": "mozita", - "commits": 1 - }, - { - "contributor": "Michał Targoński", - "commits": 1 - }, - { - "contributor": "Luna Jernberg", - "commits": 1 - }, - { - "contributor": "liimee", - "commits": 1 - }, - { - "contributor": "Iváns", - "commits": 1 - }, - { - "contributor": "Eric Armijo", - "commits": 1 - }, - { - "contributor": "Damian Pułka", - "commits": 1 - }, - { - "contributor": "Carlos Ramos Carreño", - "commits": 1 - }, - { - "contributor": "Beardhatcode", - "commits": 1 - } - ] -} +[{"commits":3144,"contributor":"Pieter Vander Vennet"},{"commits":64,"contributor":"Robin van der Linde"},{"commits":61,"contributor":"Weblate"},{"commits":38,"contributor":"Tobias"},{"commits":33,"contributor":"Christian Neumann"},{"commits":31,"contributor":"Win Olario"},{"commits":31,"contributor":"Pieter Fiers"},{"commits":26,"contributor":"karelleketers"},{"commits":24,"contributor":"Ward"},{"commits":20,"contributor":"Joost"},{"commits":19,"contributor":"Sebastian Kürten"},{"commits":18,"contributor":"Arno Deceuninck"},{"commits":17,"contributor":"pgm-chardelv1"},{"commits":16,"contributor":"Hosted Weblate"},{"commits":15,"contributor":"ToastHawaii"},{"commits":13,"contributor":"riQQ"},{"commits":13,"contributor":"Nicole"},{"commits":12,"contributor":"Tobias Jordans"},{"commits":12,"contributor":"Bavo Vanderghote"},{"commits":10,"contributor":"LiamSimons"},{"commits":8,"contributor":"dependabot[bot]"},{"commits":8,"contributor":"Midgard"},{"commits":7,"contributor":"RobJN"},{"commits":7,"contributor":"Mateusz Konieczny"},{"commits":7,"contributor":"Flo Edelmann"},{"commits":7,"contributor":"Binnette"},{"commits":7,"contributor":"yopaseopor"},{"commits":6,"contributor":"pelderson"},{"commits":5,"contributor":"David Haberthür"},{"commits":4,"contributor":"Ward Beyens"},{"commits":3,"contributor":"Léo Villeveygoux"},{"commits":2,"contributor":"arrival-spring"},{"commits":2,"contributor":"Strubbl"},{"commits":2,"contributor":"RayBB"},{"commits":2,"contributor":"Charlotte Delvaux"},{"commits":2,"contributor":"Supaplex"},{"commits":2,"contributor":"pbarban"},{"commits":2,"contributor":"graveelius"},{"commits":2,"contributor":"Stanislas Gueniffey"},{"commits":1,"contributor":"Jiří Podhorecký"},{"commits":1,"contributor":"Mark Rogerson"},{"commits":1,"contributor":"nicole_s"},{"commits":1,"contributor":"SC"},{"commits":1,"contributor":"Raphael Das Gupta"},{"commits":1,"contributor":"Nikolay Korotkiy"},{"commits":1,"contributor":"Seppe Santens"},{"commits":1,"contributor":"root"},{"commits":1,"contributor":"Allan Nordhøy"},{"commits":1,"contributor":"快乐的老鼠宝宝"},{"commits":1,"contributor":"Sebastian"},{"commits":1,"contributor":"Hiroshi Miura"},{"commits":1,"contributor":"riiga"},{"commits":1,"contributor":"Vinicius"},{"commits":1,"contributor":"Alexey Shabanov"},{"commits":1,"contributor":"Polgár Sándor"},{"commits":1,"contributor":"SiegbjornSitumeang"},{"commits":1,"contributor":"Marco"},{"commits":1,"contributor":"mozita"},{"commits":1,"contributor":"Schouppe Joost"},{"commits":1,"contributor":"Thibault Molleman"},{"commits":1,"contributor":"Noémie"},{"commits":1,"contributor":"Tomas Fiers"},{"commits":1,"contributor":"tbowdecl97"}] \ No newline at end of file diff --git a/assets/translators.json b/assets/translators.json new file mode 100644 index 0000000000..bb0dbfa7ac --- /dev/null +++ b/assets/translators.json @@ -0,0 +1 @@ +[{"commits":60,"contributor":"danieldegroot2"},{"commits":41,"contributor":"kjon"},{"commits":29,"contributor":"Artem"},{"commits":23,"contributor":"Pieter Vander Vennet"},{"commits":22,"contributor":"Supaplex"},{"commits":22,"contributor":"Marco"},{"commits":22,"contributor":"Allan Nordhøy"},{"commits":21,"contributor":"Babos Gábor"},{"commits":21,"contributor":"Anonymous"},{"commits":15,"contributor":"WaldiS"},{"commits":14,"contributor":"J. Lavoie"},{"commits":13,"contributor":"SC"},{"commits":10,"contributor":"Reza Almanda"},{"commits":9,"contributor":"Jacque Fresco"},{"commits":8,"contributor":"LeJun"},{"commits":8,"contributor":"Irina"},{"commits":6,"contributor":"Nikolay Korotkiy"},{"commits":6,"contributor":"William Weber Berrutti"},{"commits":6,"contributor":"lvgx"},{"commits":5,"contributor":"Piotr"},{"commits":5,"contributor":"Robin van der Linde"},{"commits":5,"contributor":"seppesantens"},{"commits":5,"contributor":"Vinicius"},{"commits":5,"contributor":"Alexey Shabanov"},{"commits":4,"contributor":"Jeff Huang"},{"commits":4,"contributor":"Joost"},{"commits":4,"contributor":"Adolfo Jayme Barrientos"},{"commits":4,"contributor":"Polgár Sándor"},{"commits":4,"contributor":"David Haberthür"},{"commits":4,"contributor":"phlostically"},{"commits":4,"contributor":"Jan Zabel"},{"commits":4,"contributor":"Fabio Bettani"},{"commits":3,"contributor":"Sasha"},{"commits":3,"contributor":"Jose Luis Infante"},{"commits":3,"contributor":"Francois"},{"commits":3,"contributor":"Eduardo Addad de Oliveira"},{"commits":3,"contributor":"Wiktor Przybylski"},{"commits":3,"contributor":"Erik Palm"},{"commits":3,"contributor":"vankos"},{"commits":3,"contributor":"JCGF-OSM"},{"commits":3,"contributor":"Hiroshi Miura"},{"commits":3,"contributor":"SiegbjornSitumeang"},{"commits":2,"contributor":"わたなべけんご"},{"commits":2,"contributor":"Mateusz Konieczny"},{"commits":2,"contributor":"Kristoffer Grundström"},{"commits":2,"contributor":"el_libre como el chaval"},{"commits":2,"contributor":"Sebastian Kürten"},{"commits":2,"contributor":"Damian Tokarski"},{"commits":2,"contributor":"mic140"},{"commits":2,"contributor":"Heiko"},{"commits":2,"contributor":"Leo Alcaraz"},{"commits":1,"contributor":"sparky-oxford"},{"commits":1,"contributor":"jcn706"},{"commits":1,"contributor":"whatismoss"},{"commits":1,"contributor":"LePirlouit"},{"commits":1,"contributor":"SoftwareByRedline"},{"commits":1,"contributor":"plic ploc"},{"commits":1,"contributor":"Janina Ellinghaus"},{"commits":1,"contributor":"ssantos"},{"commits":1,"contributor":"Andre Fajar N"},{"commits":1,"contributor":"Ahen Purwakarta"},{"commits":1,"contributor":"Luna Jernberg"},{"commits":1,"contributor":"Rodrigo Tavares"},{"commits":1,"contributor":"liimee"},{"commits":1,"contributor":"Michał Targoński"},{"commits":1,"contributor":"Sean Young"},{"commits":1,"contributor":"Damian Pułka"},{"commits":1,"contributor":"Iváns"},{"commits":1,"contributor":"快乐的老鼠宝宝"},{"commits":1,"contributor":"Eric Armijo"},{"commits":1,"contributor":"Beardhatcode"},{"commits":1,"contributor":"riiga"},{"commits":1,"contributor":"Carlos Ramos Carreño"}] \ No newline at end of file diff --git a/package.json b/package.json index c9b96ecee3..144d61ffbf 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "generate:licenses": "ts-node scripts/generateLicenseInfo.ts --no-fail", "query:licenses": "ts-node scripts/generateLicenseInfo.ts --query", "generate:report": "cd Docs/Tools && ./compileStats.sh && git commit . -m 'New statistics ands graphs' && git push", - "generate:contributor-list": "git log --pretty='%aN' | sort | uniq -c | sort -hr | sed 's/ *\\([0-9]*\\) \\(.*\\)$/{\"contributor\":\"\\2\", \"commits\":\\1}/' | tr '\\n' ',' | sed 's/^/{\"contributors\":[/' | sed 's/,$/]}/' | jq > assets/contributors.json", + "generate:contributor-list": "ts-node scripts/generateContributors.ts", "generate:schemas": "ts2json-schema -p Models/ThemeConfig/Json/ -o Docs/Schemas/ -t tsconfig.json -R . -m \".*ConfigJson\" && ts-node scripts/fixSchemas.ts ", "optimize-images": "cd assets/generated/ && find -name '*.png' -exec optipng '{}' \\; && echo 'PNGs are optimized'", "reset:layeroverview": "echo {\\\"layers\\\":[], \\\"themes\\\":[]} > ./assets/generated/known_layers_and_themes.json && echo {\\\"layers\\\": []} > ./assets/generated/known_layers.json", diff --git a/scripts/generateContributors.ts b/scripts/generateContributors.ts new file mode 100644 index 0000000000..e75b9d0dba --- /dev/null +++ b/scripts/generateContributors.ts @@ -0,0 +1,40 @@ +import {exec} from "child_process"; +import {writeFile, writeFileSync} from "fs"; + +function asList(hist: Map):{contributor: string, commits: number}[]{ + const ls = [] + hist.forEach((commits, contributor) => { + ls.push({commits, contributor}) + }) + ls.sort((a, b) => (b.commits - a.commits)) + return ls +} + +function main() { + exec("git log --pretty='%aN %%!%% %s' ", ((error, stdout, stderr) => { + + const entries = stdout.split("\n").filter(str => str !== "") + const codeContributors = new Map() + const translationContributors = new Map() + for (const entry of entries) { + console.log(entry) + let [author, message] = entry.split("%!%").map(s => s.trim()) + if (author === "pietervdvn") { + author = "Pieter Vander Vennet" + } + let hist = codeContributors; + if (message.startsWith("Translated using Weblate")) { + hist = translationContributors + } + hist.set(author, 1 + (hist.get(author) ?? 0)) + } + + const codeContributorsTarget = "assets/contributors.json" + writeFileSync(codeContributorsTarget, JSON.stringify(asList(codeContributors))) + const translatorsTarget = "assets/translators.json" + writeFileSync(translatorsTarget, JSON.stringify(asList(translationContributors))) + + })); +} + +main() \ No newline at end of file