@@ -257,26 +257,30 @@ def report(info):
257257def packet_stats (packet_id ):
258258 packet = Packet .by_id (packet_id )
259259
260- dates = [packet .start .date () + timedelta (days = x ) for x in range (0 , (packet .end - packet .start ).days )]
260+ dates = [packet .start .date () + timedelta (days = x ) for x in range (0 , (packet .end - packet .start ).days + 1 )]
261261
262- upper_stats = dict ()
263- for date in map (lambda sig : sig .updated , filter (lambda sig : sig .signed , packet .upper_signatures )):
264- upper_stats [date .date ()] = upper_stats .get (date .date (), 0 ) + 1
262+ print (dates )
265263
266- fresh_stats = dict ()
267- for date in map (lambda sig : sig .updated , filter (lambda sig : sig .signed , packet .fresh_signatures )):
268- fresh_stats [date .date ()] = fresh_stats .get (date .date (), 0 ) + 1
264+ upper_stats = {date : list () for date in dates }
265+ for uid , date in map (lambda sig : (sig .member , sig .updated ),
266+ filter (lambda sig : sig .signed , packet .upper_signatures )):
267+ upper_stats [date .date ()].append (uid )
269268
270- misc_stats = dict ()
271- for date in map (lambda sig : sig .updated , packet .misc_signatures ):
272- misc_stats [date .date ()] = misc_stats .get (date .date (), 0 ) + 1
269+ fresh_stats = {date : list () for date in dates }
270+ for username , date in map (lambda sig : (sig .freshman_username , sig .updated ),
271+ filter (lambda sig : sig .signed , packet .fresh_signatures )):
272+ fresh_stats [date .date ()].append (username )
273+
274+ misc_stats = {date : list () for date in dates }
275+ for uid , date in map (lambda sig : (sig .member , sig .updated ), packet .misc_signatures ):
276+ misc_stats [date .date ()].append (uid )
273277
274278 total_stats = dict ()
275279 for date in dates :
276280 total_stats [date .isoformat ()] = {
277- 'upper' : upper_stats . get ( date , 0 ) ,
278- 'fresh' : fresh_stats . get ( date , 0 ) ,
279- 'misc' : misc_stats . get ( date , 0 ) ,
281+ 'upper' : upper_stats [ date ] ,
282+ 'fresh' : fresh_stats [ date ] ,
283+ 'misc' : misc_stats [ date ] ,
280284 }
281285
282286 return {
0 commit comments