def quote_split(sep,string):
    """
    Splits the strings into pieces divided by sep, when sep in not inside quotes.
    """
    if len(sep) != 1: raise Exception("Separation string must be one character long")
    retlist = []
    squote = False
    dquote = False
    left = 0
    i = 0
    while i < len(string):
        if string[i] == '"' and not dquote:
            if not squote:
                squote = True
            elif (i+1) < len(string) and string[i+1] == '"':
                i += 1
            else:
                squote = False
        elif string[i] == "'" and not squote:
            if not dquote:
                dquote = True
            elif (i+1) < len(string) and string[i+1] == "'":
                i += 1
            else:
                dquote = False            
        elif string[i] == sep and not dquote and not squote:
            retlist.append(string[left:i])
            left = i + 1
        i += 1
    retlist.append(string[left:])
    return retlist
def quote_split ( sep , string ) : if len ( sep ) != 1 : raise Exception ( "Separation string must be one character long" ) retlist = [ ] squote = False dquote = False left = 0 i = 0 while i < len ( string ) : if string [ i ] == '"' and not dquote : if not squote : squote = True elif ( i + 1 ) < len ( string ) and string [ i + 1 ] == '"' : i += 1 else : squote = False elif string [ i ] == "'" and not squote : if not dquote : dquote = True elif ( i + 1 ) < len ( string ) and string [ i + 1 ] == "'" : i += 1 else : dquote = False elif string [ i ] == sep and not dquote and not squote : retlist . append ( string [ left : i ] ) left = i + 1 i += 1 retlist . append ( string [ left : ] ) return retlist
Splits the strings into pieces divided by sep, when sep in not inside quotes.