Проверка события на соответствие трекинг-плану
Напишите validate_event(event, plan).
event— словарь{"name": str, "props": dict}.plan— словарьимя события → {свойство: тип}, тип — одна из строк"str","int","float","bool". Все свойства из плана обязательны.- Верните список ошибок-строк:
- события нет в плане →
["unknown_event"]и больше ничего; - свойство отсутствует или равно
None→"missing:<свойство>"; - значение не того типа →
"type:<свойство>"; - свойство не описано в плане →
"extra:<свойство>".
- события нет в плане →
- Ошибки
missingиtypeидут в порядке свойств в плане, затемextraпо алфавиту. - Правила типов:
True/False— только"bool", а не"int"; для"float"подходят иint, иfloat, но неbool.
заготовка решения
def validate_event(event, plan):
# ваш код
return None