Написал такой алгоритм поиска, сначало, ищется подходящая папка, исходя из идентификатора получаемого объекта (
obj), затем идет поиск по названию подходящей папки среди локального хранилища. Схема рабочая, но больше похоже на говно-код, может быть можно как-то ее более изящно и правильно переписать? Было бы славно объединить это в одно "действие"
FOLDERS = {
"Geometry": {
"color": #...,
"icon": #...,
"ids": [
5163,
5167,
5173,
5168,
]
}
}
folder_name = next(iter(filter(
lambda name: obj.GetType() in FOLDERS[name]['ids'],
FOLDERS)), None)
folder = next(iter(filter(
lambda folder: folder.GetName() == folder_name,
created_folders)), None)
created_folder - массив с хранящимися объектами (папками), объекты не обычные, а особый класс, который отдает API
функция
GetType отдает int, это идентификатор объекта, такой на подобии как и в массиве
функция
GetName отдает string, это именя объекта