Patchwork D11467: encoding: force a few Errors to bytes before passing to `error.Abort`

login
register
mail settings
Submitter phabricator
Date Sept. 21, 2021, 3:38 p.m.
Message ID <differential-rev-PHID-DREV-zdlqwrzz7galwonavjhr-req@mercurial-scm.org>
Download mbox | patch
Permalink /patch/49783/
State Superseded
Headers show

Comments

phabricator - Sept. 21, 2021, 3:38 p.m.
mharbison72 created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REVISION SUMMARY
  I'm not sure what changed before pytype 09-09-2021 (from 04-15-2021), but these
  started getting flagged.  PyCharm also flagged these.  This fixes the following:
  
    File "/mnt/c/Users/Matt/hg/mercurial/encoding.py", line 243, in fromlocal: Function Abort.__init__ was called with the wrong arguments [wrong-arg-types]
             Expected: (self, message: Union[bytearray, bytes, memoryview], ...)
      Actually passed: (self, message: LookupError, ...)
    File "/mnt/c/Users/Matt/hg/mercurial/encoding.py", line 309, in lower: Function Abort.__init__ was called with the wrong arguments [wrong-arg-types]
             Expected: (self, message: Union[bytearray, bytes, memoryview], ...)
      Actually passed: (self, message: LookupError, ...)
    File "/mnt/c/Users/Matt/hg/mercurial/encoding.py", line 336, in upperfallback: Function Abort.__init__ was called with the wrong arguments [wrong-arg-types]
             Expected: (self, message: Union[bytearray, bytes, memoryview], ...)
      Actually passed: (self, message: LookupError, ...)
    Called from (traceback):
      line 391, in current file
      line 348, in get
      line 318, in upper

REPOSITORY
  rHG Mercurial

BRANCH
  default

REVISION DETAIL
  https://phab.mercurial-scm.org/D11467

AFFECTED FILES
  mercurial/encoding.py

CHANGE DETAILS




To: mharbison72, #hg-reviewers
Cc: mercurial-patches, mercurial-devel

Patch

diff --git a/mercurial/encoding.py b/mercurial/encoding.py
--- a/mercurial/encoding.py
+++ b/mercurial/encoding.py
@@ -240,7 +240,9 @@ 
             b"decoding near '%s': %s!" % (sub, pycompat.bytestr(inst))
         )
     except LookupError as k:
-        raise error.Abort(k, hint=b"please check your locale settings")
+        raise error.Abort(
+            pycompat.bytestr(k), hint=b"please check your locale settings"
+        )
 
 
 def unitolocal(u):
@@ -306,7 +308,9 @@ 
     except UnicodeError:
         return s.lower()  # we don't know how to fold this except in ASCII
     except LookupError as k:
-        raise error.Abort(k, hint=b"please check your locale settings")
+        raise error.Abort(
+            pycompat.bytestr(k), hint=b"please check your locale settings"
+        )
 
 
 def upper(s):
@@ -333,7 +337,9 @@ 
     except UnicodeError:
         return s.upper()  # we don't know how to fold this except in ASCII
     except LookupError as k:
-        raise error.Abort(k, hint=b"please check your locale settings")
+        raise error.Abort(
+            pycompat.bytestr(k), hint=b"please check your locale settings"
+        )
 
 
 if not _nativeenviron: