tornavis/tools/utils/git_data_canonical_authors.py

729 lines
28 KiB
Python

#!/usr/bin/env python3
# SPDX-FileCopyrightText: 2023 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
"""
The intent of this map is to be able to a single canonical author
for every ``Name <email>`` combination.
"""
__all__ = (
"canonical_author_map",
)
from typing import (
Dict,
)
def canonical_author_map() -> Dict[str, str]:
"""
Return a map of authors to their canonical author & email.
"""
# NOTE:
# - Keys must be ordered,
# - Values must also be ordered.
author_map_valid_to_invalid = {
"Aaron Carlisle <carlisle.aaron00@gmail.com>": (
"Aaron <Aaron>",
"Aaron <carlisle.b3d@gmail.com>",
"Aaron Carlisle <Blendify>",
"Aaron Carlisle <blendify@noreply.localhost>",
"Aaron Carlisle <carlisle.b3d@gmail.com>",
"Your Name <Aaron Carlisle>",
),
"Alan Troth <Al>": (
"Alan <Al@AlanTroth.me.uk>",
),
"Alaska <alaskayou01@gmail.com>": (
"Alaska <Alaska>",
"Alaska <alaska@noreply.localhost>",
),
"Aleksandr Zinovev <roaoao@gmail.com>": (
"raa <roaoao@gmail.com>",
),
"Alexander Gavrilov <angavrilov@gmail.com>": (
"Alexander Gavrilov <alexander.gavrilov@jetbrains.com>",
),
"Alexander Romanov <a.romanov@blend4web.com>": (
"Romanov Alexander <a.romanov@blend4web.com>",
),
"Alexandr Kuznetsov <ak3636@nyu.edu>": (
"Alexandr Kuznetsov <kuzsasha@gmail.com>",
),
"Aleš Jelovčan <frogstomp>": (
"frogstomp <email.frogstomp@gmail.com>",
),
"Almaz Shinbay <almaz.shinbay@nu.edu.kz>": (
"Almaz-Shinbay <almaz-shinbay@noreply.localhost>",
),
"Amélie Fondevilla <amelie.fondevilla@les-fees-speciales.coop>": (
"Amelie <amelie.fondevilla@les-fees-speciales.coop>",
"Amelie Fondevilla <afonde>",
"Amelie Fondevilla <amelie.fondevilla@les-fees-speciales.coop>",
"Amelie Fondevilla <amelie@les-fees-speciales.coop>",
"Amelie Fondevilla <amelief@noreply.localhost>",
"Amélie Fondevilla <afonde>",
),
"Andrii Symkin <pembem22>": (
"Andrii <pembem22>",
"pembem22 <pembem22>",
),
"Ankit Meel <ankitjmeel@gmail.com>": (
"Ankit <ankitm>",
"Ankit Meel <ankitm>",
),
"Anthony Edlin <akrashe@gmail.com>": (
"Anthony Edlin <krash>",
),
"Anthony Roberts <anthony.roberts@linaro.org>": (
"Anthony <anthony-roberts@noreply.localhost>",
),
"Antonio Vazquez <blendergit@gmail.com>": (
"Antonio Vazquez <blendergit@gmail.com>",
"Antonio Vazquez <antoniov>",
"Antonio Vazquez <antoniov@noreply.localhost>",
"Antonioya <blendergit@gmail.com>",
),
"Antony Riakiotakis <kalast@gmail.com>": (
"Antony Ryakiotakis <kalast@gmail.com>",
),
"Aras Pranckevicius <aras@nesnausk.org>": (
"Aras Pranckevicius <aras_p>",
),
"Bastien Montagne <bastien@blender.org>": (
"Bastien Montagne (@mont29) <>",
"Bastien Montagne <b.mont29@gmail.com>",
"Bastien Montagne <mont29>",
"Bastien Montagne <montagne29@wanadoo.fr>",
"bastien <bastien@blender.org>",
"mont29 <montagne29@wanadoo.fr>",
),
"Bogdan Nagirniak <bodyan@gmail.com>": (
"Bogdan Nagirniak <bnagirniak>",
),
"Brecht Van Lommel <brecht@blender.org>": (
"Brecht Van Lommel <brecht>",
"Brecht Van Lommel <brecht@noreply.localhost>",
"Brecht Van Lommel <brecht@solidangle.com>",
"Brecht Van Lommel <brechtvanlommel@gmail.com>",
"Brecht Van Lommel <brechtvanlommel@pandora.be>",
"Brecht Van Lömmel <brechtvanlommel@gmail.com>",
"Brecht van Lommel <brechtvanlommel@gmail.com>",
"recht Van Lommel <brecht@blender.org>",
),
"Brendon Murphy <meta.androcto1@gmail.com>": (
"meta-androcto <meta.androcto1@gmail.com>",
),
"Brian Savery <brian.savery@gmail.com>": (
"Brian Savery (AMD) <briansavery@noreply.localhost>",
"Brian Savery <bsavery>",
"bsavery <brian.savery@gmail.com>",
),
"Campbell Barton <campbell@blender.org>": (
"Campbell Barton <campbellbarton>",
"Campbell Barton <ideasman42@gmail.com>",
),
"Casey Bianco-Davis <caseycasey739@gmail.com>": (
"casey bianco-davis <caseycasey739@gmail.com>",
),
"Charles Wardlaw <cwardlaw@nvidia.com>": (
"Charles Wardlaw (@CharlesWardlaw) <>",
"Charles Wardlaw <charleswardlaw@noreply.localhost>",
"Charles Wardlaw <kattkieru@users.noreply.github.com>",
),
"Charlie Jolly <mistajolly@gmail.com>": (
"Charlie Jolly <charlie>",
"charlie <mistajolly@gmail.com>",
),
"Christian Brinkmann <hallo@zblur.de>": (
"christian brinkmann <>",
),
"Christian Rauch <Rauch.Christian@gmx.de>": (
"Christian Rauch <christian.rauch>",
),
"Christoph Lendenfeld <chris.lenden@gmail.com>": (
"Christoph Lendenfeld <ChrisLend>",
"Christoph Lendenfeld <chris.lend@gmx.at>",
"Christoph Lendenfeld <chrislend@noreply.localhost>",
),
"Clément Foucault <foucault.clem@gmail.com>": (
"Clment Foucault <fclem>",
"Clment Foucault <foucault.clem@gmail.com>",
"Clément Foucault <foucault.clem@gmail.com>",
"Clément <clement@Clements-MacBook-Pro.local>",
"Clément Foucault <fclem>",
"Clément Foucault <fclem@noreply.localhost>",
"fclem <foucault.clem@gmail.com>",
),
"Colin Basnett <cmbasnett@gmail.com>": (
"Colin Basnett <cmbasnett>",
"Colin Basnett <cmbasnett@noreply.localhost>",
),
"Colin Marmond <kdblender@gmail.com>": (
"Colin <Kdaf>",
"Colin Marmond <Kdaf>",
"Colin Marmond <kdaf@noreply.localhost>",
"Colin Marmont <Kdaf>",
),
"Dalai Felinto <dalai@blender.org>": (
"Dalai Felinto <dfelinto>",
"Dalai Felinto <dfelinto@gmail.com>",
"Dalai Felinto <dfelinto@noreply.localhost>",
),
"Damien Picard <dam.pic@free.fr>": (
"Damien Picard <pioverfour>",
"Damien Picard <pioverfour@noreply.localhost>",
),
"Daniel Salazar <zanqdo@gmail.com>": (
"Daniel Salazar <zanqdo>",
"Daniel Salazar <zanqdo@noreply.localhost>",
"Daniel Santana <dgsantana>",
"ZanQdo <zanqdo@gmail.com>",
"zanqdo <zanqdo@gmail.com>",
),
"David Friedli <hlorus>": (
"David <hlorus>",
),
"Demeter Dzadik <Mets>": (
"demeterdzadik@gmail.com <demeterdzadik@gmail.com>",
),
"Diego Borghetti <bdiego@gmail.com>": (
"Diego Hernan Borghetti <bdiego@gmail.com>",
),
"Dilith Jayakody <dilithjay@gmail.com>": (
"dilithjay <dilithjay@gmail.com>",
),
"Dmitry Dygalo <noreply@developer.blender.org>": (
"Dmitry Dygalo <>",
),
"Dontsov Valentin <@blend4web.com>": (
"Dotsnov Valentin <invalid@nodomain.com>",
),
"EitanSomething <eitant13@gmail.com>": (
"Eitan <EitanSomething>",
"EitanSomething <EitanSomething>",
),
"Ejner Fergo <ejnersan@gmail.com>": (
"Ejner Fergo <ejnersan>",
),
"Erik Abrahamsson <ecke101@gmail.com>": (
"Eric Abrahamsson <ecke101@gmail.com>",
"Erick Abrahammson <ecke101@gmail.com>",
"Erik <ecke101@gmail.com>",
"Erik Abrahamsson <erik85>",
"Erik Abrahamsson <erik85@noreply.localhost>",
),
"Ethan Hall <Ethan1080>": (
"Ethan-Hall <Ethan1080>",
),
"Fabian Schempp <fabianschempp@googlemail.com>": (
"Fabian Schempp <fabian_schempp>",
),
"Falk David <falk@blender.org>": (
"Falk David <falkdavid@gmx.de>",
"Falk David <filedescriptor>",
"Falk David <filedescriptor@noreply.localhost>",
"filedescriptor <falkdavid@gmx.de>",
),
"Francesco Siddi <francesco@blender.org>": (
"Francesco Siddi <francesco.siddi@gmail.com>",
"Francesco Siddi <fsiddi>",
),
"Fynn Grotehans <fynngr@noreply.localhost>": (
"Fynn Grotehans <68659993+Fynn-G@users.noreply.github.com>",
"Fynn Grotehans <TheFynn>",
),
"Félix <Miadim>": (
"Flix <Miadim>",
),
"Gaia Clary <gaia.clary@machinimatrix.org>": (
"Gaia Clary <gaiaclary>",
"gaiaclary <gaia.clary@machinimatrix.org>",
),
"Georgiy Markelov <georgiy.m.markelov@gmail.com>": (
"georgiy.m.markelov@gmail.com <georgiy.m.markelov@gmail.com>",
),
"Germano Cavalcante <germano.costa@ig.com.br>": (
"Germano <germano.costa@ig.com.br>",
"Germano Cavalcante <grmncv@gmail.com>",
"Germano Cavalcante <mano-wii>",
"Germano Cavalcante <mano-wii@noreply.localhost>",
"Germano Cavalcantemano-wii <germano.costa@ig.com.br>",
"mano-wii <germano.costa@ig.com.br>",
"mano-wii <grmncv@gmail.com>",
),
"Gilberto Rodrigues <gilbertorodrigues@outlook.com>": (
"Gilberto Rodrigues <gilberto_rodrigues>",
),
"Guillermo S. Romero <gsr.b3d@infernal-iceberg.com>": (
"gsr b3d <gsr.b3d@infernal-iceberg.com>",
),
"Guillermo Venegas <guillermovcra@gmail.com>": (
"Guillermo <guillermovcra@gmail.com>",
"guishe <guillermovcra@gmail.com>",
),
"Habib Gahbiche <habibgahbiche@gmail.com>": (
"Habib Gahbiche <zazizizou>",
),
"Hans Goudey <hans@blender.org>": (
"Hans Goudey <HooglyBoogly>",
"Hans Goudey <h.goudey@me.com>",
"Hans Goudey <hooglyboogly@noreply.localhost>",
),
"Harley Acheson <harley.acheson@gmail.com>": (
"Harley Acheson <harley>",
"Harley Acheson <harley@noreply.localhost>",
),
"Henrik Dick <hen-di@web.de>": (
"Henrik Dick (weasel) <>",
"Henrik Dick <weasel>",
),
"Himanshi Kalra <himanshikalra98@gmail.com>": (
"Himanshi Kalra <calra>",
),
"Howard Trickey <howard.trickey@gmail.com>": (
"howardt <howard.trickey@gmail.com>",
),
"Hristo Gueorguiev <prem.nirved@gmail.com>": (
"Hristo Gueorguiev <>",
),
"IRIE Shinsuke <irieshinsuke@yahoo.co.jp>": (
"Irie Shinsuke <irieshinsuke@yahoo.co.jp>",
),
"Iliya Katueshenock <modormoder@gmail.com>": (
"Iliay Katueshenock <Moder>",
"Iliya Katueshenock <Moder>",
"Iliya Katueshenock <mod_moder@noreply.localhost>",
"MOD <Moder>",
"illua1 <modormoder@gmail.com>",
),
"Inês Almeida <britalmeida@gmail.com>": (
"Ines Almeida <britalmeida@gmail.com>",
"brita <britalmeida@gmail.com>",
),
"Ish Bosamiya <ish_bosamiya>": (
"Ish Bosamiya <ishbosamiya>",
"Ish Bosamiya <ishbosamiya@gmail.com>",
),
"Iyad Ahmed <iyadahmed430@gmail.com>": (
"Iyad Ahmed <iyadahmed2001>",
),
"Jacques Lucke <jacques@blender.org>": (
"Jacques Lucke <jacqueslucke@noreply.localhost>",
"Jacques Lucke <mail@jlucke.com>",
),
"Jason Fielder <jason-fielder@noreply.localhost>": (
"Jason Fielder <jason_apple>",
),
"Jens Ole Wund <bjornmose@gmx.net>": (
"bjornmose <bjornmose@gmx.net>",
),
"Jens Verwiebe <info@jensverwiebe.de>": (
"Jens <info@jensverwiebe.de>",
"Jens Verwiebe <jensverwiebe@jens-macpro.fritz.box>",
"jensverwiebe <info@jensverwiebe.de>",
),
"Jeroen Bakker <jeroen@blender.org>": (
"Jeroen Bakker <88891617+jeroen-blender@users.noreply.github.com>",
"Jeroen Bakker <j.bakker@atmind.nl>",
"Jeroen Bakker <jbakker>",
),
"Jesse Yurkovich <jesse.y@gmail.com>": (
"Jesse Y <deadpin>",
"Jesse Yurkovich <deadpin>",
),
"Johannes J <johannesj@noreply.localhost>": (
"Johannes J <johannesj>",
),
"Johnny Matthews <johnny.matthews@gmail.com>": (
"Johnny Matthews (guitargeek) <johnny.matthews@gmail.com>",
"Johnny Matthews <guitargeek>",
"guitargeek <johnny.matthews@gmail.com>",
),
"Jorijn de Graaf <bonj@noreply.localhost>": (
"Jorijn de Graaf <bonj>",
"bonj <jorijndegraaf@gmail.com>",
),
"Joseph Eagar <joeedh@gmail.com>": (
"Joe Eagar <joeedh@gmail.com>",
"Joseph Eagar <joeedh>",
"Joseph Eagar <josepheagar@noreply.localhost>",
),
"Josh Maros <joshm-2@noreply.localhost>": (
"Josh Maros <60271685+joshua-maros@users.noreply.github.com>",
"joshua-maros <60271685+joshua-maros@users.noreply.github.com>",
),
"Julian Eisel <julian@blender.org>": (
"Julian Eisel <Severin>",
"Julian Eisel <eiseljulian@gmail.com>",
"Julian Eisel <julian@linux-chl2.site>",
"Julian Eisel <julian_eisel@web.de>",
"Julian Eisel <julianeisel@Julians-MacBook-Pro.local>",
"Julian Eisel <julianeisel@noreply.localhost>",
"Severin <eiseljulian@gmail.com>",
"Severin <julian_eisel@web.de>",
"julianeisel <julian_eisel@web.de>",
),
"Julien Kaspar <julien@blender.org>": (
"Julien Kaspar <JulienKaspar>",
),
"Jun Mizutani <jmztn@noreply.localhost>": (
"Jun Mizutani <jmztn>",
),
"Jörg Müller <nexyon@gmail.com>": (
"Joerg Mueller <nexyon@gmail.com>",
),
"Jürgen Herrmann <shadowrom@me.com>": (
"Juergen Herrmann <shadowrom@me.com>",
),
"Kaspian Jakobsson <kaspian.jakobsson@gmail.com>": (
"\x96kaspian.jakobssongmail.com <kaspian.jakobsson@gmail.com>",
),
"Kevin C. Burke <kevincburke@noreply.localhost>": (
"Kevin C. Burke <blastframe>",
),
"Kévin Dietrich <kevin.dietrich@mailoo.org>": (
"Kevin Dietrich <kevin.dietrich@mailoo.org>",
"Kévin Dietrich <kevindietrich>",
),
"Leon Schittek <leon.schittek@gmx.net>": (
"Leon Leno <lone_noel>",
"Leon Schittek <lone_noel>",
"Leon Schittek <lone_noel@noreply.localhost>",
),
"Lictex Steaven <lictex_>": (
"lictex_ <lictex_>",
),
"Luca Rood <dev@lucarood.com>": (
"Luca Rood <LucaRood>",
),
"Lucas Tadeu Teixeira <lucas@lucastadeu.com>": (
"Lucas Tadeu <yup_lucas@noreply.localhost>",
),
"Lukas Stockner <lukas.stockner@freenet.de>": (
"Lukas Stockner <lukasstockner97>",
),
"Lukas Tönne <lukas@blender.org>": (
"Lukas Toenne <lukas.toenne@googlemail.com>",
"Lukas Tönne <lukas.toenne@gmail.com>",
"Lukas Tönne <lukastonne@noreply.localhost>",
),
"Léo Depoix <PiloeGAO>": (
"PiloeGAO <leonumerique@gmail.com>",
),
"Mai Lavelle <mai.lavelle@gmail.com>": (
"Mai Lavelle <lavelle@gmail.com>",
),
"Mal Duffin <malachyduffin@gmail.com>": (
"Mal Duffin <mal_cando>",
),
"Manuel Castilla <manzanillawork@gmail.com>": (
"Manuel Castilla <manzanilla>",
),
"Marc Chehab <marcchehab@protonmail.ch>": (
"Marc Chéhab <marcchehab@noreply.localhost>",
"Marc Chéhab <marcluzmedia>",
),
"Marcos Perez <pistolario>": (
"Marcos Perez <pistolario@noreply.localhost>",
),
"Martijn Berger <mberger@denc.com>": (
"Martijn Berger <martijn.berger@gmail.com>",
"Martijn Berger <mberger@denc.nl>",
"Martijn Berger <mberger@martijns-mbp.lan>",
),
"Martijn Versteegh <martijn@aaltjegron.nl>": (
"Martijn Versteegh <Baardaap>",
"Martijn Versteegh <baardaap@noreply.localhost>",
"Martijn Versteegh <blender@aaltjegron.nl>",
),
"Matias Mendiola <matias.mendiola@gmail.com>": (
"Matias Mendiola <mendio>",
),
"Matt Heimlich <matt.heimlich@gmail.com>": (
"Matt Heimlich <m9105826>",
),
"Matteo F. Vescovi <mfvescovi@gmail.com>": (
"Matteo F. Vescovi <mfv>",
),
"Max Schlecht <bobbe@noreply.localhost>": (
"Max Schlecht <Bobbe>",
),
"Maxime Casas <maxime_casas@orange.fr>": (
"Maxime Casas <troopy28>",
),
"Michael Jones <michael_p_jones@apple.com>": (
"Michael Jones (Apple) <michael-jones@noreply.localhost>",
"Michael Jones <michael_jones>",
),
"Michael Kowalski <makowalski@nvidia.com>": (
"Michael Kowalski <makowalski>",
"Michael Kowalski <makowalski@noreply.localhost>",
),
"Miguel Pozo <pragma37@gmail.com>": (
"Miguel Pozo <pragma37>",
"Miguel Pozo <pragma37@noreply.localhost>",
),
"Mikhail Matrosov <ktdfly>": (
"Mikhail <ktdfly>",
"Mikhail Matrosov <kdtfly>",
),
"Monique Dewanchand <m.dewanchand@atmind.nl>": (
"Monique Dewanchand <mdewanchand>",
),
"Nate Rupsis <nrupsis@gmail.com>": (
"Nate Rupsis <C-Nathaniel.Rupsis@charter.com>",
"Nate Rupsis <C-nathaniel.rupsis@charter.com>",
"Nate Rupsis <nrupsis>",
"Nate Rupsis <nrupsis@noreply.localhost>",
),
"Nathan Craddock <nzcraddock@gmail.com>": (
"Nathan Craddock <Zachman>",
),
"Nathan Letwory <nathan@blender.org>": (
"Nathan Letwory <jesterking>",
"Nathan Letwory <nathan@letworyinteractive.com>",
"Nathan Letwory <nathan@mcneel.com>",
),
"Nathan Vegdahl <cessen@cessen.com>": (
"Nathan Vegdahl <cessen>",
),
"Nicholas Bishop <nicholasbishop@gmail.com>": (
"Nicholas Bishop <nicholas.bishop@floored.com>",
),
"Nicholas Rishel <rishel.nick@gmail.com>": (
"Nicholas Rishel <nicholas_rishel>",
),
"Nick Milios <semaphore>": (
"milios <n_mhlios@hotmail.com>",
),
"Nikita Sirgienko <nikita.sirgienko@intel.com>": (
"Nikita Sirgienko <sirgienko>",
),
"Omar Emara <mail@OmarEmara.dev>": (
"Omar Emara <OmarSquircleArt>",
"OmarSquircleArt <mail@OmarEmara.dev>",
"OmarSquircleArt <omar.squircleart@gmail.com>",
),
"Pablo Dobarro <pablodp606@gmail.com>": (
"Pablo Dobarro <pablodp606>",
),
"Pablo Vazquez <pablo@blender.org>": (
"Pablo Vazquez <contact@pablovazquez.art>",
"Pablo Vazquez <pablovazquez>",
"Pablo Vazquez <venomgfx@gmail.com>",
),
"Pascal Schoen <pascal.schoen@adidas-group.com>": (
"Pascal Schön <VanCantus>",
),
"Patrick Busch <xylvier@noreply.localhost>": (
"Patrick Busch <Xylvier>",
),
"Patrick Mours <pmours@nvidia.com>": (
"Patrick Mours <pmoursnv@noreply.localhost>",
),
"Paul Golter <paulgolter>": (
"Paul Golter <pullpullson>",
),
"Philipp Oeser <philipp@blender.org>": (
"Philipp Oeser <info@graphics-engineer.com>",
"Philipp Oeser <lichtwerk>",
"Philipp Oeser <lichtwerk@noreply.localhost>",
"Philipp Oeser <noreply@developer.blender.org>",
"Philipp Oeser <poeser@posteo.de>",
),
"Pratik Borhade <pratikborhade302@gmail.com>": (
"Pratik Borhade <PratikPB2123>",
),
"Ray Molenkamp <github@lazydodo.com>": (
"Lazydodo <github@lazydodo.com>",
"Ray Molenkamp <LazyDodo>",
"Ray molenkamp <LazyDodo>",
"Ray molenkamp <lazydodo@noreply.localhost>",
"lazydodo <github@lazydodo.com>",
),
"Red Mser <RedMser>": (
"RedMser <RedMser>",
"RedMser <redmser.jj2@gmail.com>",
),
"Richard Antalik <richardantalik@gmail.com>": (
"Richard Antalik <ISS>",
"Richard Antalik <iss@noreply.localhost>",
),
"Robert Guetzkow <gitcommit@outlook.de>": (
"Robert Guetzkow <rjg>",
),
"Robin Hohnsbeen <robin@hohnsbeen.de>": (
"Robin Hohnsbeen <robin-4@noreply.localhost>",
),
"Sahar A. Kashi <sahar.alipourkashi@amd.com>": (
"Sahar A. Kashi <salipour@noreply.localhost>",
"salipourto <sahar.alipourkashi@amd.com>",
),
"Sebastian Herholz <sebastian.herholz@intel.com>": (
"Sebastian Herholz <Sebastian.Herholz@gmail.com>",
"Sebastian Herholz <sherholz>",
"Sebastian Herholz <sherholz@noreply.localhost>",
"Sebastian Herhoz <sebastian.herholz@intel.com>",
),
"Sebastian Koenig <sebastiankoenig@posteo.de>": (
"Sebastian Koenig <sebastian_k>",
"Sebastian Koenig <sebastian_k@gmail.com>",
),
"Sebastian Parborg <darkdefende@gmail.com>": (
"Sebastian Parborg <zeddb>",
"Sebastian Parborg <zeddb@noreply.localhost>",
"Sebastian Ramacher <sramacher@debian.org>",
),
"Sergey Sharybin <sergey@blender.org>": (
"Sergey Sharybin <sergey.vfx@gmail.com>",
"Sergey Sharybin <sergey>",
"Sergey Sharybin <sergey@noreply.localhost>",
"blender <sergey.vfx@gmail.com>",
),
"Shane Ambler <Shane@ShaneWare.Biz>": (
"Shane Ambler <shaneambler@noreply.localhost>",
),
"Shashank Shekhar <secondary.cmdr2@gmail.com>": (
"Shashank Shekhar <cmdr2>",
),
"Siddhartha Jejurkar <f20180617@goa.bits-pilani.ac.in>": (
"Siddhartha Jejurkar <sidd017>",
),
"Sietse Brouwer <sietse@hetvrijeoog.nl>": (
"Sietse Brouwer <SietseB>",
),
"Simon G <intrigus>": (
"Simon <intrigus>",
),
"Sonny Campbell <sonny.campbell@unity3d.com>": (
"DESKTOP-ON14TH5\\Sonny Campbell <sonny.campbell@unity3d.com>",
"Sonny Campbell (@SonnyCampbell_Unity) <>",
"Sonny Campbell <SonnyCampbell_Unity>",
"Sonny Campbell <sonnycampbell_unity@noreply.localhost>",
),
"Stefan Werner <stefan.werner@intel.com>": (
"Stefan Werner <stefan.werner@tangent-animation.com>",
"Stefan Werner <stefan@keindesign.de>",
"Stefan Werner <stefan_werner@noreply.localhost>",
"Stefan Werner <stewreo@gmail.com>",
"Stefan Werner <swerner@smithmicro.com>",
"Werner, Stefan <stefan.werner@intel.com>",
),
"Stephan Seitz <theHamsta>": (
"Stephan <theHamsta>",
),
"Sybren A. Stüvel <sybren@blender.org>": (
"Sybren A. StÃ\x83¼vel <sybren@stuvel.eu>",
"Sybren A. Stüvel <sybren>",
"Sybren A. Stüvel <sybren@stuvel.eu>",
),
"Thomas Dinges <thomas@blender.org>": (
"Thomas Dinges <blender@dingto.org>",
"Thomas Dinges <dingto>",
),
"Thomas Szepe <HG1_public@gmx.net>": (
"HG1 <HG1_public@gmx.net>",
),
"Tom Edwards <contact@steamreview.org>": (
"Tom Edwards <artfunkel>",
),
"Tristan Porteries <republicthunderbolt9@gmail.com>": (
"Porteries Tristan <republicthunderbolt9@gmail.com>",
),
"Troy Sobotka <troy.sobotka@gmail.com>": (
"Troy Sobotka <sobotka>",
),
"Tuomo Keskitalo <tuomo.keskitalo@iki.fi>": (
"Tuomo Keskitalo <tkeskita>",
),
"Ulysse Martin <you.le@live.fr>": (
"Ulysse Martin <youle>",
),
"Vasyl Pidhirskyi <vpidhirskyi@gmail.com>": (
"Vasyl-Pidhirskyi <vpidhirskyi@gmail.com>",
),
"Vitor Boschi <vitorboschi@gmail.com>": (
"Vitor Boschi <vitorboschi>",
"Vitor Boschi da Silva <vitorboschi>"
),
"Vuk Gardašević <lijenstina>": (
"Vuk GardaÅ¡eviÄ\x87 <lijenstina>",
),
"Wayde Moss <wbmoss_dev@yahoo.com>": (
"Wayde Moss <GuiltyGhost>",
),
"Weizhen Huang <weizhen@blender.org>": (
"RiverIntheSky <itsnotrj@hotmail.com>",
"Weizhen Huang <itsnotrj@gmail.com>",
"Weizhen Huang <weizhen@noreply.localhost>",
),
"Welp <jtf515@gmail.com>": (
"Jake <Welp>",
),
"William Leeson <william@blender.org>": (
"William Leeson <leesonw>",
"William Leeson <william.leeson@gmail.com>",
),
"William Reynish <william@reynish.com>": (
"William Reynish <billrey>",
"William Reynish <billrey@me.com>",
"William Reynish <billreynish>",
),
"Willian Padovani Germano <wpgermano@gmail.com>": (
"ianwill <wpgermano@gmail.com>",
),
"Xavier Hallade <xavier.hallade@intel.com>": (
"Xavier Hallade <xavierh@noreply.localhost>",
),
"Yann Lanthony <yann-lty>": (
"@yann-lty <>",
),
"Yiming Wu <xp8110@outlook.com>": (
"ChengduLittleA <xp8110@outlook.com>",
"YimingWu <NicksBest>",
"YimingWu <chengdulittlea@noreply.localhost>",
"YimingWu <xp8110@outlook.com>",
"YimingWu <xp8110t@outlook.com>",
),
"jon denning <gfxcoder@gmail.com>": (
"Jon Denning <gfxcoder>",
),
"nBurn <nbwashburn@gmail.com>": (
"nBurn <nBurn>",
),
"nutti <nutti.metro@gmail.com>": (
"nutti <Nutti>",
),
"ok_what <ip1149a@gmail.com>": (
"ok what <ok_what>",
),
}
# Some validation, ensure ordered, consistent to help with maintenance.
keys = list(author_map_valid_to_invalid.keys())
for i, (key, key_ordered) in enumerate(zip(keys, sorted(keys))):
if key != key_ordered:
raise RuntimeError((
"Names unordered: {:d}\n"
" {:s} ~ (found)\n"
" {:s} ~ (expected)\n"
""
).format(i, key, key_ordered))
for i, (key, value) in enumerate(author_map_valid_to_invalid.items()):
if value != tuple(sorted(value)):
raise RuntimeError("Name values: {:s} at index {:d} is not ordered".format(key, i))
if len(set(value)) != len(value):
raise RuntimeError("Name values: {:s} at index {:d} contains duplicate values".format(key, i))
if key in value:
raise RuntimeError("Name values: {:s} at index {:d} contains the key in the values body".format(key, i))
table = {}
for key, values in author_map_valid_to_invalid.items():
for value_old in values:
table[value_old] = key
return table