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 types
|
||||
|
||||
from distutils.util import strtobool
|
||||
|
||||
from sanic.exceptions import PyFileError
|
||||
|
||||
|
||||
|
@ -127,6 +125,23 @@ class Config(dict):
|
|||
self[config_key] = float(v)
|
||||
except ValueError:
|
||||
try:
|
||||
self[config_key] = bool(strtobool(v))
|
||||
self[config_key] = strtobool(v)
|
||||
except ValueError:
|
||||
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