summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRodrigo Cristiano Ferreira Vieira <rcristianofv@hotmail.com>2021-12-22 15:52:12 -0300
committerGitHub <noreply@github.com>2021-12-22 19:52:12 +0100
commit0d04db726ce996f79197fb37a4900cec5c32af00 (patch)
tree25c832b35160a1311821bb2bf50fe9a64ed99675
parenteb50a02028c6bd2daef08ec4dd941c2ab70557cb (diff)
Implement strtobool over distutils strtobool (#372)
* Implement strtobool over distutils strtobool * refactor: Pep8 recommendations
-rwxr-xr-xbpytop.py22
1 files changed, 21 insertions, 1 deletions
diff --git a/bpytop.py b/bpytop.py
index 55c99ad..3c66015 100755
--- a/bpytop.py
+++ b/bpytop.py
@@ -24,7 +24,6 @@ from datetime import timedelta
from _thread import interrupt_main
from collections import defaultdict
from select import select
-from distutils.util import strtobool
from string import Template
from math import ceil, floor
from random import randint
@@ -404,6 +403,27 @@ def timeit_decorator(func):
return out
return timed
+
+#? Issue #364 ----------------------------------------------------------->
+
+def strtobool(val: str) -> bool:
+ """Convert a string representation of truth to true (1) or false (0).
+
+ 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.
+ """
+ try:
+ val = val.lower()
+ except AttributeError:
+ raise ValueError(f"invalid type {type(val)} for truth value {val}")
+ 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(f"invalid truth value {val}")
+
#? Set up config class and load config ----------------------------------------------------------->
class Config: