예제 #1
0
 def test_get_events_start_and_end_time_frame_failure(
         today_event, next_month_event, sender, session):
     start = today_event.start.date() + timedelta(days=1)
     end = next_month_event.start.date() - timedelta(days=1)
     events = get_all_user_events(session, sender.id)
     filtered_events = filter_dates(events, start, end)
     assert list(filtered_events) == []
예제 #2
0
 def test_get_events_start_and_end_time_frame_success(
         today_event, next_month_event, sender, session):
     start = today_event.start.date()
     end = next_month_event.start.date()
     events = get_all_user_events(session, sender.id)
     filtered_events = filter_dates(events, start, end)
     assert set(filtered_events) == {today_event, next_month_event}
예제 #3
0
 def test_get_events_no_time_frame(today_event, next_month_event, sender,
                                   session):
     start = None
     end = None
     events = get_all_user_events(session, sender.id)
     filtered_events = filter_dates(events, start, end)
     assert set(filtered_events) == {today_event, next_month_event}
예제 #4
0
def get_events_in_time_frame(
        start_date: Union[date, None],
        end_date: Union[date, None],
        user_id: int, db: Session
) -> Iterator[Event]:
    """Yields all user's events in a time frame."""
    events = get_all_user_events(db, user_id)
    yield from filter_dates(events, start_date, end_date)
예제 #5
0
파일: dayview.py 프로젝트: ofir96/calendar
def get_all_day_events(
    day: datetime,
    session,
    user_id: int,
) -> Iterator[Event]:
    events = get_all_user_events(session, user_id)
    day_end = day + timedelta(hours=24)
    for event in events:
        if is_all_day_event_in_day(event=event, day=day, day_end=day_end):
            yield (event)
예제 #6
0
파일: dayview.py 프로젝트: ofir96/calendar
def get_events_and_attributes(
    day: datetime,
    session,
    user_id: int,
) -> Iterator[Tuple[Event, DivAttributes]]:
    events = get_all_user_events(session, user_id)
    day_end = day + timedelta(hours=24)
    for event in events:
        if is_specific_time_event_in_day(event, day, day_end):
            yield event, DivAttributes(event, day)
예제 #7
0
def get_events_per_dates(session: Session, user_id: int, start: Optional[date],
                         end: Optional[date]) -> Union[Iterator[Event], list]:
    """Read from the db. Return a list of all
    the user events between the relevant dates."""

    if start > end:
        return []

    return (filter_dates(
        sort_by_date(get_all_user_events(session, user_id)),
        start,
        end,
    ))
예제 #8
0
def get_events_per_friend(
    session: Session,
    user_id: int,
    my_friend: str,
) -> List[Event]:
    """ My_friend is the name of a person that appears in the invite list of
    events. He is not necessarily a registered userץ The variable is used to
    show all events where we are both in the invitees list"""

    events_together = []
    sorted_events = sort_by_date(get_all_user_events(session, user_id))
    for event in sorted_events:
        if my_friend in event.invitees.split(','):
            events_together.append(event)
    return events_together
예제 #9
0
 def test_get_events_end_time_frame_success(today_event, sender, session):
     start = None
     end = today_event.end.date()
     events = get_all_user_events(session, sender.id)
     filtered_events = filter_dates(events, start, end)
     assert list(filtered_events) == [today_event]