Skip to content

Commit 4746d18

Browse files
committed
Do not use a decorator for changing exception type
Using a decorator complicates function signature introspection.
1 parent fd9eaf7 commit 4746d18

File tree

1 file changed

+26
-23
lines changed

1 file changed

+26
-23
lines changed

Lib/_base64.py

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -29,48 +29,51 @@ def _bytes_from_encode_data(b):
2929

3030

3131
# Functions in binascii raise binascii.Error instead of ValueError.
32-
def raise_valueerror(func):
33-
def _func(*args, **kwargs):
34-
try:
35-
return func(*args, **kwargs)
36-
except Error as e:
37-
raise ValueError(e) from None
38-
return _func
39-
4032

41-
@raise_valueerror
4233
def _a85encode(b, *, foldspaces=False, wrapcol=0, pad=False, adobe=False):
4334
b = _bytes_from_encode_data(b)
44-
return b2a_ascii85(b, fold_spaces=foldspaces,
45-
wrap=adobe, width=wrapcol, pad=pad)
35+
try:
36+
return b2a_ascii85(b, fold_spaces=foldspaces,
37+
wrap=adobe, width=wrapcol, pad=pad)
38+
except Error as e:
39+
raise ValueError(e) from None
4640

4741

48-
@raise_valueerror
4942
def _a85decode(b, *, foldspaces=False, adobe=False, ignorechars=b' \t\n\r\v'):
5043
b = _bytes_from_decode_data(b)
51-
return a2b_ascii85(b, fold_spaces=foldspaces,
52-
wrap=adobe, ignore=ignorechars)
53-
44+
try:
45+
return a2b_ascii85(b, fold_spaces=foldspaces,
46+
wrap=adobe, ignore=ignorechars)
47+
except Error as e:
48+
raise ValueError(e) from None
5449

55-
@raise_valueerror
5650
def _b85encode(b, pad=False):
5751
b = _bytes_from_encode_data(b)
58-
return b2a_base85(b, pad=pad, newline=False)
52+
try:
53+
return b2a_base85(b, pad=pad, newline=False)
54+
except Error as e:
55+
raise ValueError(e) from None
5956

6057

61-
@raise_valueerror
6258
def _b85decode(b):
6359
b = _bytes_from_decode_data(b)
64-
return a2b_base85(b, strict_mode=True)
60+
try:
61+
return a2b_base85(b, strict_mode=True)
62+
except Error as e:
63+
raise ValueError(e) from None
6564

6665

67-
@raise_valueerror
6866
def _z85encode(s):
6967
s = _bytes_from_encode_data(s)
70-
return b2a_base85(s, newline=False, z85=True)
68+
try:
69+
return b2a_base85(s, newline=False, z85=True)
70+
except Error as e:
71+
raise ValueError(e) from None
7172

7273

73-
@raise_valueerror
7474
def _z85decode(s):
7575
s = _bytes_from_decode_data(s)
76-
return a2b_base85(s, strict_mode=True, z85=True)
76+
try:
77+
return a2b_base85(s, strict_mode=True, z85=True)
78+
except Error as e:
79+
raise ValueError(e) from None

0 commit comments

Comments
 (0)