diff --git a/ietf/stats/utils.py b/ietf/stats/utils.py index c3a20708f..25553192d 100644 --- a/ietf/stats/utils.py +++ b/ietf/stats/utils.py @@ -246,7 +246,8 @@ def get_meeting_registration_data(meeting): decoded = response.json() except ValueError: if response.content.strip() == 'Invalid meeting': - pass + logger.info('Invalid meeting: {}'.format(meeting.number)) + return (0,0,0) else: raise RuntimeError("Could not decode response from registrations API: '%s...'" % (response.content[:64], )) @@ -307,16 +308,14 @@ def get_meeting_registration_data(meeting): num_created += 1 num_processed += 1 - # handle deleted registrations, if count is reasonable # any registrations left in meeting_registrations no longer exist in reg # so must have been deleted - if 0 < len(meeting_registrations) < 5: - for r in meeting_registrations: - try: - MeetingRegistration.objects.get(meeting=meeting,email=r[0],reg_type=r[1]).delete() - logger.info('Removing deleted registration. email={}, reg_type={}'.format(r[0], r[1])) - except MeetingRegistration.DoesNotExist: - pass + for r in meeting_registrations: + try: + MeetingRegistration.objects.get(meeting=meeting,email=r[0],reg_type=r[1]).delete() + logger.info('Removing deleted registration. email={}, reg_type={}'.format(r[0], r[1])) + except MeetingRegistration.DoesNotExist: + pass else: raise RuntimeError("Bad response from registrations API: %s, '%s'" % (response.status_code, response.content)) num_total = MeetingRegistration.objects.filter(