""" Parses .tga.option and .msh.option files. Only used with the former as of now. """ import os class MungeOptions: def __init__(self, path_to_option_file): self.options = {} if os.path.exists(path_to_option_file): with open(path_to_option_file, 'r') as option_file: option_text = option_file.read() option_parts = option_text.split() current_parameter = "" for part in option_parts: if part.startswith("-"): current_parameter = part[1:] self.options[current_parameter] = "" elif current_parameter: current_value = self.options[current_parameter] # Keep adding to value in case there are vector options self.options[current_parameter] += part if not current_value else (" " + part) def is_option_present(self, param): return param in self.options def get_bool(self, param, default=False): return True if param in self.options else default def get_float(self, param, default=0.0): if param in self.options: try: result = float(self.options[param]) except: result = default finally: return result else: return default def get_string(self, param, default=""): return self.options.get(param, default)