Drop dependency on disutils (#1544)
* Drop dependency on distutils While distutils is part of stdlib, it feels odd to use distutils in main application code. I personally use a (lean)[https://hub.docker.com/r/haizaar/python-minimal/tags] Python distribution for running my applications that does not include distutils. * Flake8 fixes * "black" fixes * strtobool should actually return bool
This commit is contained in:
parent
3bedb223fc
commit
0b4769289a
|
@ -1,8 +1,6 @@
|
||||||
import os
|
import os
|
||||||
import types
|
import types
|
||||||
|
|
||||||
from distutils.util import strtobool
|
|
||||||
|
|
||||||
from sanic.exceptions import PyFileError
|
from sanic.exceptions import PyFileError
|
||||||
|
|
||||||
|
|
||||||
|
@ -127,6 +125,23 @@ class Config(dict):
|
||||||
self[config_key] = float(v)
|
self[config_key] = float(v)
|
||||||
except ValueError:
|
except ValueError:
|
||||||
try:
|
try:
|
||||||
self[config_key] = bool(strtobool(v))
|
self[config_key] = strtobool(v)
|
||||||
except ValueError:
|
except ValueError:
|
||||||
self[config_key] = v
|
self[config_key] = v
|
||||||
|
|
||||||
|
|
||||||
|
def strtobool(val):
|
||||||
|
"""
|
||||||
|
This function was borrowed from distutils.utils. While distutils
|
||||||
|
is part of stdlib, it feels odd to use distutils in main application code.
|
||||||
|
|
||||||
|
The function was modified to walk its talk and actually return bool
|
||||||
|
and not int.
|
||||||
|
"""
|
||||||
|
val = val.lower()
|
||||||
|
if val in ("y", "yes", "t", "true", "on", "1"):
|
||||||
|
return True
|
||||||
|
elif val in ("n", "no", "f", "false", "off", "0"):
|
||||||
|
return False
|
||||||
|
else:
|
||||||
|
raise ValueError("invalid truth value %r" % (val,))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user