Use get() instead of filter()[0]. This results in a better exception

on failure (DoesNotExist instead of IndexError).

Call the database query once and store it in a temp variable instead
of doing the same query twice.

Handle day_id=NULL for the morning beverages/breakfast time.

Use the DoesNotExist exception instead of a generic except: for
the area - except: is likely to hide things that you didn't expect.
 - Legacy-Id: 156
This commit is contained in:
Bill Fenner 2007-05-23 16:56:07 +00:00
parent 4a5a5b1d59
commit 5528a04cd9
2 changed files with 12 additions and 8 deletions

View file

@ -32,9 +32,9 @@ def show_html_materials(request, meeting_num=None):
return render("meeting/list.html",{}) return render("meeting/list.html",{})
def show_html_agenda(request, meeting_num=None): def show_html_agenda(request, meeting_num=None):
meeting_info=Meeting.objects.filter(meeting_num=meeting_num)[0] meeting_info=Meeting.objects.get(meeting_num=meeting_num)
nonsession_info=NonSession.objects.filter(meeting=meeting_num,day_id__gte='0').order_by("day_id") nonsession_info=NonSession.objects.filter(meeting=meeting_num,day_id__gte='0').order_by("day_id")
meetingvenue_info=MeetingVenue.objects.filter(meeting_num=meeting_num)[0] meetingvenue_info=MeetingVenue.objects.get(meeting_num=meeting_num)
queryset_list=MeetingTime.objects.filter(meeting=meeting_num).exclude(day_id=0).order_by("day_id","time_desc") queryset_list=MeetingTime.objects.filter(meeting=meeting_num).exclude(day_id=0).order_by("day_id","time_desc")
op_ad_plenary_agenda = "17:00 Welcome\n17:05 NOC report (Wieslaw Blysz, Siemens Networks))\n Host presentation (Georg Haubs, CTO Innovations of Siemens Networks)\n 17:20 IETF Chair and IAD short reports\n 17:30 Jonathan B. Postel award\n 17:40 NomCom Chair (Andrew Lange)\n 17:45 Open Microphone\n 19:30 (latest) end" #only for testing. In production, this text will be pulled from actualy agenda file op_ad_plenary_agenda = "17:00 Welcome\n17:05 NOC report (Wieslaw Blysz, Siemens Networks))\n Host presentation (Georg Haubs, CTO Innovations of Siemens Networks)\n 17:20 IETF Chair and IAD short reports\n 17:30 Jonathan B. Postel award\n 17:40 NomCom Chair (Andrew Lange)\n 17:45 Open Microphone\n 19:30 (latest) end" #only for testing. In production, this text will be pulled from actualy agenda file
#queryset_list=WgMeetingSession.objects.filter(meeting_num=meeting_num, group_acronym_id > -3) #queryset_list=WgMeetingSession.objects.filter(meeting_num=meeting_num, group_acronym_id > -3)

View file

@ -44,7 +44,7 @@ class ResolveAcronym(object):
else: else:
try: try:
area = AreaGroup.objects.get(group=self.group_acronym_id).area.area_acronym.acronym area = AreaGroup.objects.get(group=self.group_acronym_id).area.area_acronym.acronym
except: except AreaGroup.DoesNotExist:
area = "???" area = "???"
return area return area
@ -167,15 +167,19 @@ class MeetingTime(models.Model):
def meeting_date(self): def meeting_date(self):
return self.meeting.get_meeting_date(self.day_id) return self.meeting.get_meeting_date(self.day_id)
def reg_info(self): def reg_info(self):
return "%s %s" % (NonSession.objects.filter(meeting=self.meeting, day_id=self.day_id,non_session_ref=1)[0].time_desc, NonSession.objects.filter(meeting=self.meeting, day_id=self.day_id,non_session_ref=1)[0].non_session_ref) reg_info = NonSession.objects.get(meeting=self.meeting, day_id=self.day_id, non_session_ref=1)
return "%s %s" % (reg_info.time_desc, reg_info.non_session_ref)
def morning_br_info(self): def morning_br_info(self):
return "%s %s" % (NonSession.objects.filter(meeting=self.meeting, non_session_ref=2)[0].time_desc, NonSession.objects.filter(meeting=self.meeting, non_session_ref=2)[0].non_session_ref) br_info = NonSession.objects.get(models.Q(day_id=self.day_id) | models.Q(day_id__isnull=True), meeting=self.meeting, non_session_ref=2)
return "%s %s" % (br_info.time_desc, br_info.non_session_ref)
def lunch_br_info(self): def lunch_br_info(self):
return NonSession.objects.filter(meeting=self.meeting, non_session_ref=3)[0].time_desc return NonSession.objects.get(meeting=self.meeting, non_session_ref=3).time_desc
def an_br1_info(self): def an_br1_info(self):
return "%s %s" % (NonSession.objects.filter(meeting=self.meeting, non_session_ref=4)[0].time_desc, NonSession.objects.filter(meeting=self.meeting, non_session_ref=4)[0].non_session_ref) an_br1_info = NonSession.objects.get(meeting=self.meeting, day_id=self.day_id, non_session_ref=4)
return "%s %s" % (an_br1_info.time_desc, an_br1_info.non_session_ref)
def an_br2_info(self): def an_br2_info(self):
return "%s %s" % (NonSession.objects.filter(meeting=self.meeting, non_session_ref=5)[0].time_desc, NonSession.objects.filter(meeting=self.meeting, non_session_ref=5)[0].non_session_ref) an_br2_info = NonSession.objects.get(meeting=self.meeting, day_id=self.day_id, non_session_ref=5)
return "%s %s" % (an_br2_info.time_desc, an_br2_info.non_session_ref)
class Meta: class Meta:
db_table = 'meeting_times' db_table = 'meeting_times'
class Admin: class Admin: