Spaces:
Sleeping
Sleeping
# Author: Aqeel Anwar(ICSRL) | |
# Created: 9/20/2019, 12:43 PM | |
# Email: [email protected] | |
from configparser import ConfigParser | |
from dotmap import DotMap | |
def ConvertIfStringIsInt(input_string): | |
try: | |
float(input_string) | |
try: | |
if int(input_string) == float(input_string): | |
return int(input_string) | |
else: | |
return float(input_string) | |
except ValueError: | |
return float(input_string) | |
except ValueError: | |
return input_string | |
def read_cfg(config_filename="masks.cfg", mask_type="surgical", verbose=False): | |
parser = ConfigParser() | |
parser.optionxform = str | |
parser.read(config_filename) | |
cfg = DotMap() | |
section_name = mask_type | |
if verbose: | |
hyphens = "-" * int((80 - len(config_filename)) / 2) | |
print(hyphens + " " + config_filename + " " + hyphens) | |
# for section_name in parser.sections(): | |
if verbose: | |
print("[" + section_name + "]") | |
for name, value in parser.items(section_name): | |
value = ConvertIfStringIsInt(value) | |
if name != "template": | |
cfg[name] = tuple(int(s) for s in value.split(",")) | |
else: | |
cfg[name] = value | |
spaces = " " * (30 - len(name)) | |
if verbose: | |
print(name + ":" + spaces + str(cfg[name])) | |
return cfg | |