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)