Reconstruction / read_cfg.py
MrSinan's picture
Update read_cfg.py
f72da53
raw
history blame contribute delete
No virus
1.36 kB
# Author: Aqeel Anwar(ICSRL)
# Created: 9/20/2019, 12:43 PM
# Email: aqeel.anwar@gatech.edu
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