# HG changeset patch
# User Denis Laxalde <denis.laxalde@logilab.fr>
# Date 2019-10-24 13:46:16
# Node ID ac33550f63e89a494785a1d51be2e987dd9cedae
# Parent  ef81de93143efebcded6e275b9c65df592c56d50

py3: use stdlib's parseaddr() to get sender header in notify extension

In Python 3, email headers are unicode string so using
stringutil.email() will not work as it compares with bytestring. So
let's use email.utils.parseaddr() from the stdlib which has a consistent
behavior across Python versions. The same is done in patchbomb
extension already.

diff --git a/hgext/notify.py b/hgext/notify.py
--- a/hgext/notify.py
+++ b/hgext/notify.py
@@ -148,6 +148,7 @@ web.baseurl
 from __future__ import absolute_import
 
 import email.errors as emailerrors
+import email.utils as emailutils
 import fnmatch
 import hashlib
 import socket
@@ -450,7 +451,7 @@ class notifier(object):
             )
             mail.sendmail(
                 self.ui,
-                stringutil.email(msg[r'From']),
+                emailutils.parseaddr(msg[r'From'])[1],
                 subs,
                 msgtext,
                 mbox=self.mbox,