From 1f35e6340b1b35bf7bd3148219ae17dbaaa39928 Mon Sep 17 00:00:00 2001 From: Alexandre Iooss Date: Fri, 21 Sep 2018 12:34:58 +0200 Subject: [PATCH] Update gen_contrib.py to match current contributors.py Now `manage.py gen_contrib` generates a contributors.py matching the already existing format. It normalizes names to make the list more enjoyable. Before using this to seriously generate contributors.py we need to figure out a way to add pseudo names, or tell everyone to change their name on GitLab. --- re2o/management/commands/gen_contrib.py | 36 ++++++++++++++++++++----- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/re2o/management/commands/gen_contrib.py b/re2o/management/commands/gen_contrib.py index 9951a383..2b0afd39 100644 --- a/re2o/management/commands/gen_contrib.py +++ b/re2o/management/commands/gen_contrib.py @@ -32,16 +32,38 @@ class Command(BaseCommand): """ The command object for `gen_contrib` """ help = 'Update contributors list' + @staticmethod + def _contrib_file_generator(contributors): + """ + Generate the content of contributors.py + """ + buffer = "# -*- mode: python; coding: utf-8 -*-\n" + buffer += "\"\"\"re2o.contributors\n" + buffer += "A list of the proud contributors to Re2o\n" + buffer += "\"\"\"\n" + buffer += "\n" + buffer += "CONTRIBUTORS = [\n" + for name in contributors: + # Split name into parts + names = name.split() + + # Normalize it + names = list(map(str.capitalize, names)) + + # Put it back together + name_text = " ".join(names) + buffer += " '{}',\n".format(name_text) + buffer += "]" + + return buffer + def handle(self, *args, **options): - contributeurs = [ + contributors = [ item.split('\t')[1] for item in os.popen("git shortlog -s -n").read().split("\n") if '\t' in item ] - self.stdout.write(self.style.SUCCESS("Exportation Sucessfull")) + self.stdout.write(self.style.SUCCESS("Exportation Successful")) with open("re2o/contributors.py", "w") as contrib_file: - contrib_file.write("\"\"\"re2o.contributors\n") - contrib_file.write("A list of the contributors to Re2o\n") - contrib_file.write("\"\"\"\n") - contrib_file.write("\n") - contrib_file.write("CONTRIBUTORS = " + str(contributeurs)) + content = self._contrib_file_generator(contributors) + contrib_file.write(content)