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 2017-04-12 22:17:32 +03:00 committed by Richard Purdie
parent ffabe5d1b9
commit 11747280b5
1 changed files with 3 additions and 2 deletions

View File

@ -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