def add_lazy(self, entry, media_type): lazy_fields = get_field_map(media_type=media_type) entry.add_lazy_fields(self.lazy_loader, lazy_fields, kwargs={'auth': self.auth}) entry['emby_server_id'] = self.auth.server_id entry['emby_username'] = self.auth.username entry['emby_user_id'] = self.auth.uid
def lazy_loader(self, entry, auth): if not auth: return if not auth.logged: auth.login() emby_api = EmbyApi(auth) emby_data = emby_api.search(**entry) if not emby_data: return emby_type = EmbyApi.get_type(**emby_data) lazy_fields = get_field_map(media_type=emby_type) if not lazy_fields: return entry.update_using_map(lazy_fields, emby_data, ignore_none=True)