def parse_defaults(defaults_string):
    """Yields default values for a function"""
    if not defaults_string:
        return
    current = ''
    in_quote = None
    for char in defaults_string:
        if current == '' and char == ' ':
            continue
        if char == '"' or char == "'":
            if in_quote and char == in_quote:
                in_quote = None
            elif not in_quote:
                in_quote = char
        elif char == ',' and not in_quote:
            yield current
            current = ''
            continue
        current += char
    yield current
