def eval_option_value(self, option):
try:<EOL><INDENT>value = eval(option, {}, {})<EOL><DEDENT>except (SyntaxError, NameError, TypeError):<EOL><INDENT>return option<EOL><DEDENT>if type(value) in (str, bool, int, float):<EOL><INDENT>return value<EOL><DEDENT>elif type(value) in (list, tuple):<EOL><INDENT>for v in value:<EOL><INDENT>if type(v) not in (str, bool, int, float):<EOL><INDENT>self._write_error("<STR_LIT>" % v)<EOL><DEDENT><DEDENT>return value<EOL><DEDENT>return option<EOL>
Evaluates an option
        :param option: a string
        :return: an object of type str, bool, int, float or list