scripts/mailmapper: enable running with Python 3
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>
This commit is contained in:
parent
577e45f36f
commit
785b857d99
@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env python2
|
#!/usr/bin/env python3
|
||||||
# SPDX-License-Identifier: GPL-2.0+
|
# SPDX-License-Identifier: GPL-2.0+
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014, Masahiro Yamada <yamada.m@jp.panasonic.com>
|
# Copyright (C) 2014, Masahiro Yamada <yamada.m@jp.panasonic.com>
|
||||||
@ -89,9 +89,10 @@ output = {}
|
|||||||
for line in shortlog.splitlines():
|
for line in shortlog.splitlines():
|
||||||
# tmp, mail = line.rsplit(None, 1) is not safe
|
# tmp, mail = line.rsplit(None, 1) is not safe
|
||||||
# because weird email addresses might include whitespaces
|
# because weird email addresses might include whitespaces
|
||||||
tmp, mail = line.split('<')
|
|
||||||
mail = '<' + mail.rstrip()
|
|
||||||
try:
|
try:
|
||||||
|
line = line.decode("utf-8")
|
||||||
|
tmp, mail = line.split('<')
|
||||||
|
mail = '<' + mail.rstrip()
|
||||||
_, name = tmp.rstrip().split(None, 1)
|
_, name = tmp.rstrip().split(None, 1)
|
||||||
except ValueError:
|
except ValueError:
|
||||||
# author name is empty
|
# author name is empty
|
||||||
@ -100,8 +101,11 @@ for line in shortlog.splitlines():
|
|||||||
# another name for the same email address
|
# another name for the same email address
|
||||||
prev_name = mail_vs_name[mail]
|
prev_name = mail_vs_name[mail]
|
||||||
# Take the name with more commits
|
# Take the name with more commits
|
||||||
major_name = sorted([prev_name, name],
|
try:
|
||||||
key=lambda x: commits_per_name[x] if x else 0)[1]
|
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
|
mail_vs_name[mail] = major_name
|
||||||
if commits_per_name[major_name] > MIN_COMMITS:
|
if commits_per_name[major_name] > MIN_COMMITS:
|
||||||
output[mail] = major_name
|
output[mail] = major_name
|
||||||
|
Loading…
Reference in New Issue
Block a user