diff options
author | Richard van der Hoff <1389908+richvdh@users.noreply.github.com> | 2021-01-15 15:59:20 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-15 15:59:20 +0000 |
commit | 9ffac2bef1cbf74694280e4976605f3563f97074 (patch) | |
tree | 21abb7e24d1e9222902ee185c936c03061e5e53a /synapse/util | |
parent | Add type hints to media rest resources. (#9093) (diff) | |
download | synapse-9ffac2bef1cbf74694280e4976605f3563f97074.tar.xz |
Remote dependency on distutils (#9125)
`distutils` is pretty much deprecated these days, and replaced with `setuptools`. It's also annoying because it's you can't `pip install` it, and it's hard to figure out which debian package we should depend on to make sure it's there. Since we only use it for a tiny function anyway, let's just vendor said function into our codebase.
Diffstat (limited to 'synapse/util')
-rw-r--r-- | synapse/util/stringutils.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/synapse/util/stringutils.py b/synapse/util/stringutils.py index 61d96a6c28..b103c8694c 100644 --- a/synapse/util/stringutils.py +++ b/synapse/util/stringutils.py @@ -75,3 +75,22 @@ def shortstr(iterable: Iterable, maxitems: int = 5) -> str: if len(items) <= maxitems: return str(items) return "[" + ", ".join(repr(r) for r in items[:maxitems]) + ", ...]" + + +def strtobool(val: str) -> bool: + """Convert a string representation of truth to True or False + + True values are 'y', 'yes', 't', 'true', 'on', and '1'; false values + are 'n', 'no', 'f', 'false', 'off', and '0'. Raises ValueError if + 'val' is anything else. + + This is lifted from distutils.util.strtobool, with the exception that it actually + returns a bool, rather than an 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,)) |