Skip to content

Commit 90b0bb8

Browse files
committed
fix: replace strtobool for local function
1 parent 8585c7b commit 90b0bb8

File tree

3 files changed

+31
-1
lines changed

3 files changed

+31
-1
lines changed

decouple.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from shlex import shlex
66
from io import open
77
from collections import OrderedDict
8-
from distutils.util import strtobool
8+
from util import strtobool
99

1010
# Useful for very coarse version differentiation.
1111
PYVERSION = sys.version_info

tests/test_util.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import pytest
2+
from util import strtobool
3+
4+
5+
def test_true_values():
6+
true_list = ["y", "yes", "t", "true", "on", "1"]
7+
for item in true_list:
8+
assert strtobool(item) == 1
9+
10+
11+
def test_false_values():
12+
false_list = ["n", "no", "f", "false", "off", "0"]
13+
for item in false_list:
14+
assert strtobool(item) == 0
15+
16+
17+
def test_invalid_value_text():
18+
invalid_list = ["Invalid_Value_1", "1nv4l1d_V4lu3_2", "Invalid_Value_3"]
19+
for value in invalid_list:
20+
with pytest.raises(ValueError, match="invalid truth value '%s'".format(value)):
21+
strtobool(value)

util.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
def strtobool(value):
2+
value = value.lower()
3+
if value in ["y", "yes", "t", "true", "on", "1"]:
4+
result = True
5+
elif value in ["n", "no", "f", "false", "off", "0"]:
6+
result = False
7+
else:
8+
raise ValueError("invalid truth value '%s'".format(value))
9+
return result

0 commit comments

Comments
 (0)