def get_app_cfg_by_path(path):
    """ 's1/s2/s3' -> ['s1', 's2', 's3']"""
    tuple_settings = tuple(path.split('/'))
    result_settings = remove_fandb_spaces_in_tuple(tuple_settings)
    try:
        tmp = get_app_cfg()
        for at in result_settings:
            tmp = tmp[at]
            
        return tmp
    except KeyError as e:
        return None
 def process_one_line(line):
     ptr = line.find(':')
     key = util.remove_forward_and_back_spaces(line[0:ptr])
     value = util.remove_forward_and_back_spaces(line[ptr+1:])
     if key == kKeyRoot:
         if key not in target: 
             target[key] = []
         target[key].append(value)
         target[key] = list(set(target[key]))
         
     elif key == kKeyTargetExts:
         list_ext = value.split(',')
         target[key] = list(util.remove_fandb_spaces_in_tuple(tuple(list_ext)))
     elif key == kKeyIndexName:
         # Тоже список, хотя из одного элемента. Удобно при дальнейшей обработке
         target[key] = [util.remove_forward_and_back_spaces(value)]
     elif key == kKeyIgnoredDir:
         if key not in target: 
             target[key] = []
         target[key].append(value)
         target[key] = list(set(target[key]))
     else:
         print 'No used'
def _parse_target_params(str_params):
    rpt = []
    if str_params.count('[') != str_params.count(']'):
        return None, 1, "\tError: [Count '[' != count ']']"

    if str_params.count(':') != str_params.count('[') or \
        str_params.count(':') != str_params.count(']'):
        return None, 1, "\tError: [Format param - [anything : something]]"
    
    params = str_params.replace('[', '')
    params = params.split(']')
    params_map = {}
    for at in params:
        if at:
            pair = remove_forward_and_back_spaces(at)
            key, value = remove_fandb_spaces_in_tuple(tuple(pair.split(':')))
            # Запрещаем второе значени, соотв. ключу
            if key not in params_map:
                params_map[key] = value
            else:
                return None, 1, "\tError: only one params key permitted"

    params_json = json.dumps(params_map)
    return params_json, 0, None