]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
scripts/mailmapper: enable running with Python 3
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Thu, 16 Sep 2021 08:59:12 +0000 (10:59 +0200)
committerRamon Fried <rfried.dev@gmail.com>
Tue, 28 Sep 2021 15:50:55 +0000 (18:50 +0300)
Our mailmapper script required Python 2 which is no longer maintained.
A main difference when converting to Python 3 is that byte strings are not
character strings. So add conversion and skip over conversion errors.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
scripts/mailmapper

index 2e2d7faff573d215361b97e89588a4524f347cb1..0e744ec1a0b8f0af6267fad9ca157adf00c800b6 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/env python2
+#!/usr/bin/env python3
 # SPDX-License-Identifier: GPL-2.0+
 #
 # Copyright (C) 2014, Masahiro Yamada <yamada.m@jp.panasonic.com>
@@ -89,9 +89,10 @@ output = {}
 for line in shortlog.splitlines():
     # tmp, mail = line.rsplit(None, 1) is not safe
     # because weird email addresses might include whitespaces
-    tmp, mail = line.split('<')
-    mail = '<' + mail.rstrip()
     try:
+        line = line.decode("utf-8")
+        tmp, mail = line.split('<')
+        mail = '<' + mail.rstrip()
         _, name = tmp.rstrip().split(None, 1)
     except ValueError:
         # author name is empty
@@ -100,8 +101,11 @@ for line in shortlog.splitlines():
         # another name for the same email address
         prev_name = mail_vs_name[mail]
         # Take the name with more commits
-        major_name = sorted([prev_name, name],
-                            key=lambda x: commits_per_name[x] if x else 0)[1]
+        try:
+            major_name = sorted([prev_name, name],
+                                key=lambda x: commits_per_name[x] if x else 0)[1]
+        except:
+            continue
         mail_vs_name[mail] = major_name
         if commits_per_name[major_name] > MIN_COMMITS:
             output[mail] = major_name