def get_valid_values(self, attr):
name = '<STR_LIT>'%attr<EOL>if not hasattr(self.o, name):<EOL><INDENT>raise AttributeError('<STR_LIT>'%(self.o,name))<EOL><DEDENT>func = getattr(self.o, name)<EOL>docstring = func.__doc__<EOL>if docstring is None: return '<STR_LIT>'<EOL>if docstring.startswith('<STR_LIT>'):<EOL><INDENT>return None<EOL><DEDENT>match = self._get_valid_values_regex.search(docstring)<EOL>if match is not None:<EOL><INDENT>return match.group(<NUM_LIT:1>).replace('<STR_LIT:\n>', '<STR_LIT:U+0020>')<EOL><DEDENT>return '<STR_LIT>'<EOL>
Get the legal arguments for the setter associated with *attr*.

This is done by querying the docstring of the function *set_attr*
for a line that begins with ACCEPTS:

Eg., for a line linestyle, return
[ '-' | '--' | '-.' | ':' | 'steps' | 'None' ]