mail: convert SMTPException to bytes before passing to error.Abort() stable
authorMatt Harbison <matt_harbison@yahoo.com>
Thu, 11 Mar 2021 17:04:58 -0500
branchstable
changeset 46683 b0253377e170
parent 46682 8f8fce2dd594
child 46684 98c816e89fac
mail: convert SMTPException to bytes before passing to error.Abort() Caught by pytype: File "/mnt/c/Users/Matt/hg/mercurial/mail.py", line 168, in _smtp: Function Abort.__init__ was called with the wrong arguments [wrong-arg-types] Expected: (self, message: Union[bytearray, bytes, memoryview], ...) Actually passed: (self, message: smtplib.SMTPException) Differential Revision: https://phab.mercurial-scm.org/D10168
mercurial/mail.py
--- a/mercurial/mail.py	Thu Mar 11 17:02:28 2021 -0500
+++ b/mercurial/mail.py	Thu Mar 11 17:04:58 2021 -0500
@@ -165,7 +165,7 @@
         try:
             s.login(username, password)
         except smtplib.SMTPException as inst:
-            raise error.Abort(inst)
+            raise error.Abort(stringutil.forcebytestr(inst))
 
     def send(sender, recipients, msg):
         try: