# 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,