From 122a11f26a4bb31a9e81bc8dcb840219d10e21e2 Mon Sep 17 00:00:00 2001 From: Dominik George <dominik.george@teckids.org> Date: Mon, 12 Oct 2020 16:52:22 +0200 Subject: [PATCH] Lookup existing fields in annotations to catch non-optional attributes --- bigbluebutton/api/attendee.py | 2 +- bigbluebutton/api/meeting.py | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/bigbluebutton/api/attendee.py b/bigbluebutton/api/attendee.py index 4f563ae..9b6c27f 100644 --- a/bigbluebutton/api/attendee.py +++ b/bigbluebutton/api/attendee.py @@ -189,7 +189,7 @@ class Attendee: raise ValueError("createTime does not match actual meeting parameters") else: snake_name = camel_to_snake(name) - if hasattr(cls, snake_name): + if snake_name in cls.__annotations__: kwargs[snake_name] = to_field_type(cls, snake_name, value) return kwargs diff --git a/bigbluebutton/api/meeting.py b/bigbluebutton/api/meeting.py index bf5e034..0583e84 100644 --- a/bigbluebutton/api/meeting.py +++ b/bigbluebutton/api/meeting.py @@ -227,7 +227,8 @@ class Meeting: kwargs["meeting_name"] = value else: snake_name = camel_to_snake(name) - kwargs[snake_name] = to_field_type(cls, snake_name, value) + if snake_name in cls.__annotations__: + kwargs[snake_name] = to_field_type(cls, snake_name, value) return kwargs @@ -258,5 +259,5 @@ class Meeting: else: snake_name = camel_to_snake(name) - if hasattr(self, snake_name): + if hasattr(se: setattr(self, snake_name, to_field_type(self, snake_name, value)) -- GitLab