def METHOD_NAME(only_public=False):
    """Returns a list officeEvents this weeks officeEvents
    Requires datetime"""
    now = datetime.now()
    # This gives a running window of today plus six days
    # A larger window makes it hard do deal with repeating events
    end_of_window = now + timedelta(days=(6))
    end_of_window = end_of_window.date()
    # Find events this week, but ignore those that have happened
    # Also include all repeating events
    office_events = OfficeEvent.objects.filter(
        models.Q(start_time__date__gte=now, start_time__date__lte=end_of_window)
        | models.Q(repeating=True)
    )
    if only_public:
        office_events = office_events.exclude(public=False)
    # We can not do database sort, because weekday is not a column
    # We need this sorting string to account for repeating events where the date is not in timewindow
    # and we want to sort from today and to the end of the window
    office_events = sorted(
        office_events,
        key=lambda event: (
            (event.start_time.weekday() - datetime.now().weekday()) % 7,
            event.start_time.time(),
        ),
    )
    return office_events