[Python-Dev] PEP 409 and the stdlib

Antoine Pitrou solipsis at pitrou.net
Mon May 20 17:46:38 CEST 2013


On Mon, 20 May 2013 07:12:07 -0700
Ethan Furman <ethan at stoneleaf.us> wrote:
> 
> As a case in point, base64.py is currently getting a bug fix, and also contains this code:
> 
> def b32decode(s, casefold=False, map01=None):
>      .
>      .
>      .
>      for i in range(0, len(s), 8):
>          quanta = s[i: i + 8]
>          acc = 0
>          try:
>              for c in quanta:
>                  acc = (acc << 5) + b32rev[c]
>          except KeyError:
>              raise binascii.Error('Non-base32 digit found')
>      .
>      .
>      .
>          else:
>              raise binascii.Error('Incorrect padding')
> 
> Does the KeyError qualify as irrelevant noise?

I think it is a legitimate case where to silence the original
exception. However, the binascii.Error would be more informative if it
said *which* non-base32 digit was encountered.

Regards

Antoine.




More information about the Python-Dev mailing list