Skip to content

Commit 6e8f55d

Browse files
committed
No need to iterate over the categories if the user isn't tracking them
1 parent cca0992 commit 6e8f55d

File tree

1 file changed

+26
-24
lines changed

1 file changed

+26
-24
lines changed

outlook/indico_outlook/plugin.py

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -318,13 +318,14 @@ def event_updated(self, event, changes, **kwargs):
318318
if self._user_tracks_favorite_events(user):
319319
users_to_update.add(user)
320320

321-
for category in reversed(event.category.chain_query.all()):
322-
for user in category.favorite_of:
323-
if self._user_tracks_favorite_categories(user) and event.can_access(user):
324-
users_to_update.add(user)
325-
# Stop once we reach the visibility horizon of the event
326-
if category is event.category.real_visibility_horizon:
327-
break
321+
if self._user_tracks_favorite_categories(user):
322+
for category in reversed(event.category.chain_query.all()):
323+
for user in category.favorite_of:
324+
if event.can_access(user):
325+
users_to_update.add(user)
326+
# Stop once we reach the visibility horizon of the event
327+
if category is event.category.real_visibility_horizon:
328+
break
328329

329330
for user in users_to_update:
330331
self.logger.info('Event data change: updating %s in %r', user, event)
@@ -351,13 +352,14 @@ def event_deleted(self, event, **kwargs):
351352
for user in event.favorite_of:
352353
if self._user_tracks_favorite_events(user):
353354
users_to_update.add(user)
354-
for category in reversed(event.category.chain_query.all()):
355-
for user in category.favorite_of:
356-
if self._user_tracks_favorite_categories(user) and event.can_access(user):
357-
users_to_update.add(user)
358-
# Stop once we reach the visibility horizon of the event
359-
if category is event.category.real_visibility_horizon:
360-
break
355+
if self._user_tracks_favorite_categories(user):
356+
for category in reversed(event.category.chain_query.all()):
357+
for user in category.favorite_of:
358+
if event.can_access(user):
359+
users_to_update.add(user)
360+
# Stop once we reach the visibility horizon of the event
361+
if category is event.category.real_visibility_horizon:
362+
break
361363

362364
for user in users_to_update:
363365
self.logger.info('Event deletion: removing %s in %r', user, event)
@@ -376,16 +378,16 @@ def _record_change(self, event, user, action):
376378
return
377379
if user in event.favorite_of and self._user_tracks_favorite_events(user):
378380
return
379-
for category in reversed(event.category.chain_query.all()):
380-
if (
381-
user in category.favorite_of
382-
and self._user_tracks_favorite_categories(user)
383-
and event.can_access(user)
384-
):
385-
return
386-
# Stop once we reach the visibility horizon of the event
387-
if category is event.category.real_visibility_horizon:
388-
break
381+
if self._user_tracks_favorite_categories(user):
382+
for category in reversed(event.category.chain_query.all()):
383+
if (
384+
user in category.favorite_of
385+
and event.can_access(user)
386+
):
387+
return
388+
# Stop once we reach the visibility horizon of the event
389+
if category is event.category.real_visibility_horizon:
390+
break
389391

390392
g.outlook_changes.append((event, user, action))
391393

0 commit comments

Comments
 (0)