Комментарии 2
Посмотрите на Pydantic. Там можно создать модель со вложенной структурой и вытащить только то, что надо.
from pydantic import BaseModel
class Person(BaseModel):
name: str
class MyData(BaseModel):
person: Person
if __name__ == '__main__':
print(
MyData.parse_obj(
{
"person": {"name": "John", "other": "gray"},
"other": "gray"
}
)
)
# person=Person(name='John')
Код очень сложный, мне не хватает мотивации его понять. Сдишком большая вложеннось.
Вот здесь явно присутствует дупликация. Можно упростить.
elif prop_type == 'url':
extracted_data[prop_name] = prop_values.get(prop_type)
property_types[prop_name] = 'string'
elif prop_type == 'number':
extracted_data[prop_name] = prop_values.get(prop_type)
property_types[prop_name] = 'int64'
elif prop_type == 'checkbox':
extracted_data[prop_name] = prop_values.get(prop_type)
property_types[prop_name] = 'bool'
"checkbox": "bool",
}
if prop_type in props_mapping:
property_types[prop_name] = props[prop_type]
property_types[prop_name] = props_mapping[prop_type]
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Данные из базы Notion по Api за 5 минут