Skip to content

Commit 872aa7b

Browse files
committed
Add %-formatting to require()
1 parent 1163cd2 commit 872aa7b

1 file changed

Lines changed: 16 additions & 2 deletions

File tree

src/bd2k/util/exceptions.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class RequirementError( Exception ):
4646
pass
4747

4848

49-
def require( value, message ):
49+
def require( value, message, *message_args ):
5050
"""
5151
Raise RequirementError with the given message if the given value is considered false. See
5252
https://docs.python.org/2/library/stdtypes.html#truth-value-testing for a defintiion of which
@@ -55,13 +55,27 @@ def require( value, message ):
5555
5656
:param Any value: the value to be tested
5757
:param message:
58+
:param message_args: optional values for % formatting the given message
5859
:return:
5960
6061
>>> require(1 + 1 == 2, 'You made a terrible mistake')
62+
6163
>>> require(1 + 1 == 3, 'You made a terrible mistake')
6264
Traceback (most recent call last):
6365
...
6466
RequirementError: You made a terrible mistake
67+
68+
>>> require(1 + 1 == 3, 'You made a terrible mistake, %s', 'you fool')
69+
Traceback (most recent call last):
70+
...
71+
RequirementError: You made a terrible mistake, you fool
72+
73+
>>> require(1 + 1 == 3, 'You made a terrible mistake, %s %s', 'your', 'majesty')
74+
Traceback (most recent call last):
75+
...
76+
RequirementError: You made a terrible mistake, your majesty
6577
"""
6678
if not value:
67-
raise RequirementError( message )
79+
if message_args:
80+
message = message % message_args
81+
raise RequirementError( message)

0 commit comments

Comments
 (0)