From fb93a8c293dd3437c08030b7e87643f1b9035b01 Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Tue, 6 Jun 2017 07:27:07 +0000 Subject: [PATCH] Added dates to unreachable() calls, to make it easier to decide when to remove marked code. - Legacy-Id: 13538 --- ietf/doc/views_draft.py | 2 +- ietf/meeting/helpers.py | 6 +++--- ietf/meeting/models.py | 14 +++++++------- ietf/meeting/views.py | 2 +- ietf/utils/log.py | 7 ++++--- ietf/utils/mail.py | 2 +- 6 files changed, 17 insertions(+), 16 deletions(-) diff --git a/ietf/doc/views_draft.py b/ietf/doc/views_draft.py index 39a745f2a..82a6a90c1 100644 --- a/ietf/doc/views_draft.py +++ b/ietf/doc/views_draft.py @@ -280,7 +280,7 @@ def change_stream(request, name): @jsonapi def doc_ajax_internet_draft(request): - log.unreachable() # 6.46.2 + log.unreachable("07 Mar 2017") if request.method != 'GET' or not request.GET.has_key('term'): return { 'success' : False, 'error' : 'No term submitted or not GET' } q = request.GET.get('term') diff --git a/ietf/meeting/helpers.py b/ietf/meeting/helpers.py index ef07b68d9..25afdaca6 100644 --- a/ietf/meeting/helpers.py +++ b/ietf/meeting/helpers.py @@ -429,7 +429,7 @@ def get_earliest_session_date(formset): def get_interim_initial(meeting): '''Returns a dictionary suitable to initialize a InterimRequestForm''' - log.unreachable() # 6.46.2 + log.unreachable("07 Mar 2017") initial = {} initial['group'] = meeting.session_set.first().group if meeting.city: @@ -449,7 +449,7 @@ def get_interim_initial(meeting): def get_interim_session_initial(meeting): '''Returns a list of dictionaries suitable to initialize a InterimSessionForm''' - log.unreachable() # 6.46.2 + log.unreachable("07 Mar 2017") initials = [] for session in meeting.session_set.all(): initial = {} @@ -620,7 +620,7 @@ def send_interim_minutes_reminder(meeting): def check_interim_minutes(): """Finds interim meetings that occured 10 days ago, if they don't have minutes send a reminder.""" - log.unreachable() # 6.46.2 + log.unreachable("07 Mar 2017") date = datetime.datetime.today() - datetime.timedelta(days=10) meetings = Meeting.objects.filter(type='interim', session__status='sched', date=date) for meeting in meetings: diff --git a/ietf/meeting/models.py b/ietf/meeting/models.py index 27333448d..c05a8d8a5 100644 --- a/ietf/meeting/models.py +++ b/ietf/meeting/models.py @@ -532,7 +532,7 @@ class TimeSlot(models.Model): rooms. """ def create_concurrent_timeslots(self): - log.unreachable() + log.unreachable("28 Feb 2017") rooms = self.meeting.room_set.all() self.room = rooms[0] self.save() @@ -678,7 +678,7 @@ class Schedule(models.Model): @property def group_mapping(self): - log.unreachable() + log.unreachable("28 Feb 2017") assignments,sessions,total,scheduled = self.group_session_mapping return assignments @@ -690,7 +690,7 @@ class Schedule(models.Model): # calculate badness of entire schedule def calc_badness(self): - log.unreachable() + log.unreachable("28 Feb 2017") # now calculate badness assignments = self.group_mapping return self.calc_badness1(assignments) @@ -740,7 +740,7 @@ class SchedTimeSessAssignment(models.Model): @property def area(self): - log.unreachable() + log.unreachable("28 Feb 2017") if not self.session or not self.session.group: return "" if self.session.group.type_id == "irtf": @@ -753,7 +753,7 @@ class SchedTimeSessAssignment(models.Model): @property def slottype(self): - log.unreachable() + log.unreachable("28 Feb 2017") if self.timeslot and self.timeslot.type: return self.timeslot.type.slug else: @@ -854,7 +854,7 @@ class Constraint(models.Model): return u"%s " % (self.person) def status(self): - log.unreachable() + log.unreachable("28 Feb 2017") if self.active_status is not None: return self.active_status else: @@ -1075,7 +1075,7 @@ class Session(models.Model): return self.timeslotassignment_for_agenda(self.meeting.agenda) def unique_constraints(self): - log.unreachable() + log.unreachable("28 Feb 2017") global constraint_cache_uses, constraint_cache_initials constraint_cache_uses += 1 # this cache keeps the automatic placer from visiting the database continuously diff --git a/ietf/meeting/views.py b/ietf/meeting/views.py index b82cddd34..946d84435 100644 --- a/ietf/meeting/views.py +++ b/ietf/meeting/views.py @@ -270,7 +270,7 @@ class RoomForm(ModelForm): @role_required('Secretariat') def edit_roomurl(request, num, roomid): - log.unreachable() # 6.46.2 + log.unreachable("07 Mar 2017") meeting = get_meeting(num) try: diff --git a/ietf/utils/log.py b/ietf/utils/log.py index 33c949216..766a74b8c 100644 --- a/ietf/utils/log.py +++ b/ietf/utils/log.py @@ -106,12 +106,12 @@ def assertion(statement): extra[key] = frame.f_locals[key] logger.error("Assertion '%s' failed.", statement, exc_info=(AssertionError, statement, tb), extra=extra) -def unreachable(): +def unreachable(date="(unknown)"): "Raises an assertion or sends traceback to admins if executed." stack = inspect.stack()[1:] frame = stack[0][0] if settings.DEBUG is True or settings.SERVER_MODE == 'test': - raise AssertionError("Arrived at code in %s() which was marked unreachable." % frame.f_code.co_name) + raise AssertionError("Arrived at code in %s() which was marked unreachable on %s." % (frame.f_code.co_name, date)) else: # build a simulated traceback object tb = build_traceback(stack) @@ -120,5 +120,6 @@ def unreachable(): for key in [ 'request', 'status_code', ]: if key in frame.f_locals: extra[key] = frame.f_locals[key] - logger.error("Arrived at code in %s() which was marked unreachable.", frame.f_code.co_name, exc_info=(AssertionError, frame.f_code.co_name, tb), extra=extra) + logger.error("Arrived at code in %s() which was marked unreachable on %s." % (frame.f_code.co_name, date), + exc_info=(AssertionError, frame.f_code.co_name, tb), extra=extra) diff --git a/ietf/utils/mail.py b/ietf/utils/mail.py index 94d88573e..7e4c41a26 100644 --- a/ietf/utils/mail.py +++ b/ietf/utils/mail.py @@ -170,7 +170,7 @@ def send_mail_subj(request, to, frm, stemplate, template, context, *args, **kwar Send an email message, exactly as send_mail(), but the subject field is a template. ''' - unreachable() # 03 Mar 2017 + unreachable("03 Mar 2017") subject = render_to_string(stemplate, context ).replace("\n"," ").strip() return send_mail(request, to, frm, subject, template, context, *args, **kwargs)