'Filter the last week of user actions.'

def GetReportData(self, get_report_args, token):

    ret = rdf_report_plugins.ApiReportData(representation_type=rdf_report_plugins.ApiReportData.RepresentationType.STACK_CHART)
    try:
        user_activity = {}
        week_duration = rdfvalue.Duration('7d')
        offset = rdfvalue.Duration(('%dw' % self.WEEKS))
        now = rdfvalue.RDFDatetime.Now()
        start_time = ((now - offset) - aff4.AUDIT_ROLLOVER_TIME)
        try:
            for fd in audit.AuditLogsForTimespan(start_time, now, token):
                for event in fd.GenerateItems():
                    for week in xrange(self.__class__.WEEKS):
                        start = (now - (week * week_duration))
                        if (start < event.timestamp < (start + week_duration)):
                            weekly_activity = user_activity.setdefault(event.user, [[x, 0] for x in xrange((- self.__class__.WEEKS), 0, 1)])
                            weekly_activity[(- week)][1] += 1
        except ValueError:
            pass
        ret.stack_chart.data = sorted((rdf_report_plugins.ApiReportDataSeries2D(label=user, points=(rdf_report_plugins.ApiReportDataPoint2D(x=x, y=y) for (x, y) in data)) for (user, data) in user_activity.iteritems() if (user not in aff4_users.GRRUser.SYSTEM_USERS)), key=(lambda series: series.label))
    except IOError:
        pass
    return ret
