Пример #1
0
def validate_assignments_file(input_directory: str,
                              sections: pd.DataFrame) -> List[str]:
    """
    Validates that the latest assignments file has the expected
    columns and all columns whose names end with `Date` or `DateTime` have the
    proper format.

    Parameters
    ----------
    input_directory: str
        Base / parent directory containing files created by an LMS extractor.
    sections: pd.DataFrame
        DataFrame containing section information read from a Sections file.

    Returns
    -------
    List[str]
        List containing detailed error messages, if any.
    """
    df = fread.get_all_assignments(input_directory, sections, nrows=2)

    if df.empty:
        return _file_is_empty("Assignments")

    expected = set([
        "SourceSystemIdentifier",
        "SourceSystem",
        "Title",
        "AssignmentCategory",
        "AssignmentDescription",
        "StartDateTime",
        "EndDateTime",
        "DueDateTime",
        "SubmissionType",
        "MaxPoints",
        "LMSSectionSourceSystemIdentifier",
        "CreateDate",
        "LastModifiedDate",
        "SourceCreateDate",
        "SourceLastModifiedDate",
    ])

    return _validate_columns(expected, df,
                             "Assignments") + _validate_date_formats(
                                 df, "Assignments")
Пример #2
0
        def it_should_return_an_empty_DataFrame(mocker, fixture) -> None:

            df = get_all_assignments(BASE_DIRECTORY, INPUT_DF)

            assert df.empty
Пример #3
0
            def it_should_return_empty_data_frame(mocker, fixture) -> None:
                df = get_all_assignments(BASE_DIRECTORY, pd.DataFrame())

                assert df.empty
Пример #4
0
        def it_should_read_file_into_DataFrame(mocker, fixture) -> None:

            df = get_all_assignments(BASE_DIRECTORY, INPUT_DF)

            assert df.iloc[0][ASSIGNMENTS] == 1
Пример #5
0
def _get_assignments_df(csv_path: str) -> DataFrame:
    sections_df: DataFrame = _get_sections_df(csv_path)
    if sections_df.empty:
        return DataFrame()
    return file_reader.get_all_assignments(csv_path, sections_df)