def _wcs_arguments_to_dict (value,lower=False):    
    """ Takes a string line and converts to a dictionary based on '=' signs
    
    
    'key1 = "a b c " key2=world key3= " 1  10 2.3  "' => 
    
    dict(key1="a b c",key2="world",key3="1  10 2.3  ")
    
        
    """    
    equals = [-1]
    equals += [i for i in range(len(value)) if value[i] == "="]
    if len(equals) == 1:
        raise ValueError("problem parsing wcs")        
    if lower:
        value = value.lower()
    parsed = {}    
    for i in range(1,len(equals)-1):        
        # (=) key1 = a b c key2 = b
        #  0       7            20 
        j_prev = equals[i-1]
        j_cur = equals[i]
        j_next = equals[i+1]
        
        # key is the item prior to the equals 
        
        prev = value[j_prev+1:j_cur]
        key = prev.split()[-1]
        
        # the value is everything but the next key
        next_ = value[j_cur+1:j_next]
        next_key = next_.split()[-1]
        val = value[j_cur+1:j_next-len(next_key)-1]
    
        # store the result
        parsed[key] = val.strip().replace('"',"")
        
    # deal with the very last one          
    key = value[equals[-2]+1:equals[-1]].split()[-1]
    val = value[equals[-1]+1:]
    parsed[key] = val.strip().replace('"',"")
    
    return parsed