spec.path(view=route)
spec_dict = spec.to_dict()
paths = spec_dict.get('paths', {})
new_paths = {}
replace = {'/v1/': '/1.0/', '/v2/': '/2.0/', '/v3/': '/3.0/', '/v4/': '/4.0/'}
for name, value in paths.items():
version = name[:4]
new_paths[f'{replace[version]}{name[4:]}'] = value
spec_dict['paths'] = new_paths
Ребят, привет всем :)
Вопрос такой, есть вот такой код (инициализирует руты в доке и меняет внутри имя, этакий внутренний костыль)
В чем прикол.
В paths лежит 1 переменная, тип orderedDict
Соотвественно в new_paths тоже становится одна запись
Но! После последней строки кода в new_paths неожиданно становится 2 записи (и соответсвенно в большом spec_dict по пути paths лежит 2 записи)
Если во время цикла сделать paths.pop(name) то все вроде бы нормально, но изменять итерируемый объект как-то неправильно. Подскажите, в чем магия?
Я немного не понял о каких двух записях речь. Можешь привести пример что там в словаре на последнем шаге? И какого типа точно spec_dict?
Так одна ж запись, не?
Это перед последней строкой
Обсуждают сегодня