oe-build-perf-report-email.py: use pwd for getting user name

Use pwd data instead of os.getlogin() to get the username for fallback
email address. os.getlogin() basically returns the name of the user
logged in on the controlling terminal of the process and raises an
exception on some systems if the process does not have a controlling
terminal - when executed from a cron script, for example.

(From OE-Core rev: 66b7f495bb000c043ae24176dcdec0cb087eeecf)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Markus Lehtonen authored and Richard Purdie committed 2017-04-13 10:54:10 +01:00
1 parent ffabe5d1b9
commit 11747280b5
1 file changed
+3 -2
@@ -211,9 +211,10 @@ def send_email(text_fn, html_fn, subject, recipients):
else:
raise ReportError("Neither plain text nor html body specified")
full_name = pwd.getpwuid(os.getuid()).pw_gecos.split(',')[0]
pw_data = pwd.getpwuid(os.getuid())
full_name = pw_data.pw_gecos.split(',')[0]
email = os.environ.get('EMAIL',
'{}@{}'.format(os.getlogin(), socket.getfqdn()))
'{}@{}'.format(pw_data.pw_name, socket.getfqdn()))
msg['From'] = "{} <{}>".format(full_name, email)
msg['To'] = ', '.join(recipients)
msg['Subject'] = subject