Preparation for dead code removal: Marked probable dead code with affirm() statements which will signal if we ever reach that point in the code. If no signals seen, the marked functions/methods will be removed after one release cycle.

- Legacy-Id: 12926
This commit is contained in:
Henrik Levkowetz 2017-02-27 16:45:21 +00:00
parent 4f12513b1f
commit 10cac86165
2 changed files with 22 additions and 4 deletions

View file

@ -177,10 +177,6 @@ def timeslot_addslot(request, meeting):
newslot.meeting = meeting
newslot.save()
# no longer create concurrent timeslots, because they will default, when there is
# no timeslots, to unavailable, which can be created later on.
# newslot.create_concurrent_timeslots()
# XXX FIXME: timeslot_dayurl is undefined. Placeholder:
# timeslot_dayurl = None
# XXX FIXME: newroom is undefined. Placeholder:

View file

@ -25,6 +25,7 @@ from ietf.group.models import Group
from ietf.group.utils import can_manage_materials
from ietf.name.models import MeetingTypeName, TimeSlotTypeName, SessionStatusName, ConstraintName, RoomResourceName
from ietf.person.models import Person
from ietf.utils import log
from ietf.utils.storage import NoLocationMigrationFileSystemStorage
from ietf.utils.text import xslugify
@ -169,6 +170,7 @@ class Meeting(models.Model):
return qs
def sessions_that_can_be_placed(self):
log.affirm('not "Reachable Code"')
from django.db.models import Q
donotplace_groups = Q(group__acronym="edu")
donotplace_groups |= Q(group__acronym="tools")
@ -542,6 +544,7 @@ class TimeSlot(models.Model):
rooms.
"""
def create_concurrent_timeslots(self):
log.affirm('not "Reachable Code"')
rooms = self.meeting.room_set.all()
self.room = rooms[0]
self.save()
@ -650,6 +653,7 @@ class Schedule(models.Model):
@property
def official_class(self):
log.affirm('not "Reachable Code"')
if self.is_official:
return "agenda_official"
else:
@ -694,11 +698,13 @@ class Schedule(models.Model):
@property
def group_mapping(self):
log.affirm('not "Reachable Code"')
assignments,sessions,total,scheduled = self.group_session_mapping
return assignments
@property
def group_session_mapping(self):
log.affirm('not "Reachable Code"')
assignments = dict()
sessions = dict()
total = 0
@ -724,12 +730,14 @@ class Schedule(models.Model):
# calculate badness of entire schedule
def calc_badness(self):
log.affirm('not "Reachable Code"')
# now calculate badness
assignments = self.group_mapping
return self.calc_badness1(assignments)
# calculate badness of entire schedule
def calc_badness1(self, assignments):
log.affirm('not "Reachable Code"')
badness = 0
for sess in self.sessions_that_can_meet:
badness += sess.badness(assignments)
@ -781,6 +789,7 @@ class SchedTimeSessAssignment(models.Model):
@property
def area(self):
log.affirm('not "Reachable Code"')
if not self.session or not self.session.group:
return ""
if self.session.group.type_id == "irtf":
@ -793,6 +802,7 @@ class SchedTimeSessAssignment(models.Model):
@property
def group_type_str(self):
log.affirm('not "Reachable Code"')
if not self.session or not self.session.group:
return ""
if self.session.group and self.session.group.type_id == "wg":
@ -805,6 +815,7 @@ class SchedTimeSessAssignment(models.Model):
@property
def slottype(self):
log.affirm('not "Reachable Code"')
if self.timeslot and self.timeslot.type:
return self.timeslot.type.slug
else:
@ -897,6 +908,7 @@ class Constraint(models.Model):
return u"%s %s target=%s person=%s" % (self.source, self.name.name.lower(), self.target, self.person)
def brief_display(self):
log.affirm('not "Reachable Code"')
if self.target and self.person:
return u"%s ; %s" % (self.target.acronym, self.person)
elif self.target and not self.person:
@ -908,17 +920,20 @@ class Constraint(models.Model):
@property
def person_conflicted(self):
log.affirm('not "Reachable Code"')
if self.person is None:
return "unknown person"
return self.person.name
def status(self):
log.affirm('not "Reachable Code"')
if self.active_status is not None:
return self.active_status
else:
return True
def __lt__(self, y):
log.affirm('not "Reachable Code"')
#import sys
#sys.stdout.write("me: %s y: %s\n" % (self.name.slug, y.name.slug))
if self.name.slug == 'conflict' and y.name.slug == 'conflic2':
@ -930,6 +945,7 @@ class Constraint(models.Model):
return False
def constraint_cost(self):
log.affirm('not "Reachable Code"')
return self.name.penalty;
def json_url(self):
@ -1147,6 +1163,7 @@ class Session(models.Model):
return self.timeslotassignment_for_agenda(self.meeting.agenda)
def unique_constraints(self):
log.affirm('not "Reachable Code"')
global constraint_cache_uses, constraint_cache_initials
constraint_cache_uses += 1
# this cache keeps the automatic placer from visiting the database continuously
@ -1251,11 +1268,13 @@ class Session(models.Model):
return self._agenda_file
def badness_test(self, num):
log.affirm('not "Reachable Code"')
from settings import BADNESS_CALC_LOG # pylint: disable=import-error
#sys.stdout.write("num: %u / BAD: %u\n" % (num, BADNESS_CALC_LOG))
return BADNESS_CALC_LOG >= num
def badness_log(self, num, msg):
log.affirm('not "Reachable Code"')
if self.badness_test(num):
sys.stdout.write(msg)
@ -1272,6 +1291,7 @@ class Session(models.Model):
# not being scheduled is worth 10,000,000 points
#
def badness(self, assignments):
log.affirm('not "Reachable Code"')
badness = 0
if not (self.group in assignments):
@ -1362,6 +1382,7 @@ class Session(models.Model):
return badness
def setup_conflicts(self):
log.affirm('not "Reachable Code"')
conflicts = self.unique_constraints()
self.session_conflicts = []
@ -1400,6 +1421,7 @@ class Session(models.Model):
# not being scheduled is worth 10,000,000 points
#
def badness_fast(self, timeslot, scheduleslot, session_pk_list):
log.affirm('not "Reachable Code"')
from settings import BADNESS_UNPLACED, BADNESS_TOOSMALL_50, BADNESS_TOOSMALL_100, BADNESS_TOOBIG, BADNESS_MUCHTOOBIG # pylint: disable=import-error
badness = 0