def annotate_users(comments): user_ids = set(c.user_id for c in comments) users_list = list(User.objects.filter(id__in=user_ids)) users_list = socialize_users(users_list) users_dict = {u.id: u for u in users_list} for c in comments: user = users_dict.get(c.user_id) if user is None: # have we been hacked? comments.remove(c) else: c.user = user return comments
def show_event(request, slug): event = get_object_or_404(Event, slug=slug) translation.activate(LANG_CODES[event.language]) user = request.user attendances = list(EventAttendance.objects.filter(event=event).select_related("user")) goers = [a.user for a in attendances if user.id != a.user.id] random.shuffle(goers) goers = socialize_users(goers) goer_id_set = set(a.user.id for a in attendances) return { "Content-Language": translation.get_language(), "event": event, "curr_attendance": user.id in goer_id_set, "future_event": event.starts_at > datetime.datetime.now(), "goers": goers, "goer_id_set": goer_id_set, }