Skip to content

Commit 99233ab

Browse files
committed
Merged in [9121] from rcross@amsl.com:
resolve issues with proceedings progress repport. - Legacy-Id: 9123 Note: SVN reference [9121] has been migrated to Git commit a77c81c
2 parents ebb00e5 + a77c81c commit 99233ab

1 file changed

Lines changed: 17 additions & 23 deletions

File tree

ietf/secr/proceedings/proc_utils.py

Lines changed: 17 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,8 @@ def mycomp(timeslot):
101101
def get_progress_stats(sdate,edate):
102102
'''
103103
This function takes a date range and produces a dictionary of statistics / objects for use
104-
in a progress report.
104+
in a progress report. Generally the end date will be the date of the last meeting
105+
and the start date will be the date of the meeting before that.
105106
'''
106107
data = {}
107108
data['sdate'] = sdate
@@ -111,20 +112,20 @@ def get_progress_stats(sdate,edate):
111112
new_docs = Document.objects.filter(type='draft').filter(docevent__type='new_revision',
112113
docevent__newrevisiondocevent__rev='00',
113114
docevent__time__gte=sdate,
114-
docevent__time__lte=edate)
115+
docevent__time__lt=edate)
115116
data['new'] = new_docs.count()
116117
data['updated'] = 0
117118
data['updated_more'] = 0
118119
for d in new_docs:
119-
updates = d.docevent_set.filter(type='new_revision',time__gte=sdate,time__lte=edate).count()
120+
updates = d.docevent_set.filter(type='new_revision',time__gte=sdate,time__lt=edate).count()
120121
if updates > 1:
121122
data['updated'] += 1
122123
if updates > 2:
123124
data['updated_more'] +=1
124125

125126
# calculate total documents updated, not counting new, rev=00
126127
result = set()
127-
events = DocEvent.objects.filter(doc__type='draft',time__gte=sdate,time__lte=edate)
128+
events = DocEvent.objects.filter(doc__type='draft',time__gte=sdate,time__lt=edate)
128129
for e in events.filter(type='new_revision').exclude(newrevisiondocevent__rev='00'):
129130
result.add(e.doc)
130131
data['total_updated'] = len(result)
@@ -136,23 +137,17 @@ def get_progress_stats(sdate,edate):
136137
data['approved'] = events.filter(type='iesg_approved').count()
137138

138139
# get 4 weeks
139-
monday = Meeting.get_ietf_monday()
140-
cutoff = monday + datetime.timedelta(days=3)
141-
ff1_date = cutoff - datetime.timedelta(days=28)
142-
#ff2_date = cutoff - datetime.timedelta(days=21)
143-
#ff3_date = cutoff - datetime.timedelta(days=14)
144-
#ff4_date = cutoff - datetime.timedelta(days=7)
145-
140+
ff1_date = edate - datetime.timedelta(days=28)
146141
ff_docs = Document.objects.filter(type='draft').filter(docevent__type='new_revision',
147142
docevent__newrevisiondocevent__rev='00',
148143
docevent__time__gte=ff1_date,
149-
docevent__time__lte=cutoff)
144+
docevent__time__lt=edate)
150145
ff_new_count = ff_docs.count()
151146
ff_new_percent = format(ff_new_count / float(data['new']),'.0%')
152147

153148
# calculate total documents updated in final four weeks, not counting new, rev=00
154149
result = set()
155-
events = DocEvent.objects.filter(doc__type='draft',time__gte=ff1_date,time__lte=cutoff)
150+
events = DocEvent.objects.filter(doc__type='draft',time__gte=ff1_date,time__lt=edate)
156151
for e in events.filter(type='new_revision').exclude(newrevisiondocevent__rev='00'):
157152
result.add(e.doc)
158153
ff_update_count = len(result)
@@ -164,28 +159,28 @@ def get_progress_stats(sdate,edate):
164159
data['ff_update_percent'] = ff_update_percent
165160

166161
# Progress Report Section
167-
data['docevents'] = DocEvent.objects.filter(doc__type='draft',time__gte=sdate,time__lte=edate)
162+
data['docevents'] = DocEvent.objects.filter(doc__type='draft',time__gte=sdate,time__lt=edate)
168163
data['action_events'] = data['docevents'].filter(type='iesg_approved')
169164
data['lc_events'] = data['docevents'].filter(type='sent_last_call')
170165

171166
data['new_groups'] = Group.objects.filter(type='wg',
172167
groupevent__changestategroupevent__state='active',
173168
groupevent__time__gte=sdate,
174-
groupevent__time__lte=edate)
169+
groupevent__time__lt=edate)
175170

176171
data['concluded_groups'] = Group.objects.filter(type='wg',
177172
groupevent__changestategroupevent__state='conclude',
178173
groupevent__time__gte=sdate,
179-
groupevent__time__lte=edate)
174+
groupevent__time__lt=edate)
180175

181176
data['new_docs'] = Document.objects.filter(type='draft').filter(docevent__type='new_revision',
182177
docevent__time__gte=sdate,
183-
docevent__time__lte=edate).distinct()
178+
docevent__time__lt=edate).distinct()
184179

185180
data['rfcs'] = DocEvent.objects.filter(type='published_rfc',
186181
doc__type='draft',
187182
time__gte=sdate,
188-
time__lte=edate)
183+
time__lt=edate)
189184

190185
# attach the ftp URL for use in the template
191186
for event in data['rfcs']:
@@ -553,12 +548,11 @@ def gen_progress(context, final=True):
553548
'''
554549
meeting = context['meeting']
555550

556-
# proceedings are run sometime after the meeting, so end date = the previous meeting
551+
# proceedings are run sometime after the meeting, so end date = the passed meeting
557552
# date and start date = the date of the meeting before that
558-
now = datetime.date.today()
559-
meetings = Meeting.objects.filter(type='ietf',date__lt=now).order_by('-date')
560-
start_date = meetings[1].date
561-
end_date = meetings[0].date
553+
previous_meetings = Meeting.objects.filter(type='ietf',date__lt=meeting.date).order_by('-date')
554+
start_date = previous_meetings[0].date
555+
end_date = meeting.date
562556
data = get_progress_stats(start_date,end_date)
563557
data['meeting'] = meeting
564558
data['final'] = final

0 commit comments

Comments
 (0)