report.py
def _make_printable_reports(session_id, is_final):
    """
    Compiles all reports for a session into one for printing.
    This means we generate a bunch of anonymized reports, then concatenate them, since page breaks are
    handled in the HTML template.

    Keyword arguments:
    session_id -- session to generate reports for
    is_final -- if True, makes a final report. If False, generates a midterm report.
    """
    students = gbmodel.students().get_students_in_session(session_id)
    if students is None or len(students) <= 0:
        raise MissingStudentException("No students for this session.")

    report = ""

    # Concatenate anonymized reports for all students on the team
    for s in students:
        report = report + _make_student_report_pdf(s.id, session_id, is_final)
    return report

    Compiles all reports for a session into one for printing.
    This means we generate a bunch of anonymized reports, then concatenate them, since page breaks are
    handled in the HTML template.

    Keyword arguments:
    session_id -- session to generate reports for
    is_final -- if True, makes a final report. If False, generates a midterm report.
    
Compiles all reports for a session into one for printing.
This means we generate a bunch of anonymized reports, then concatenate them, since page breaks are
handled in the HTML template.

Keyword arguments:
session_id -- session to generate reports for
is_final -- if True, makes a final report. If False, generates a midterm report.
Compiles all reports for a session into one for printing . This means we generate a bunch of anonymized reports then concatenate them since page breaks are handled in the HTML template . Keyword arguments : session_id -- session to generate reports for is_final -- if True makes a final report . If False generates a midterm report .
def _make_printable_reports(session_id, is_final):
    students = gbmodel.students().get_students_in_session(session_id)
    if students is None or len(students) <= 0:
        raise MissingStudentException("No students for this session.")
    report = ""
    for s in students:
        report = report + _make_student_report_pdf(s.id, session_id, is_final)
    return report
def _make_printable_reports ( session_id , is_final ) : students = gbmodel . students ( ) . get_students_in_session ( session_id ) if students is None or len ( students ) <= 0 : raise MissingStudentException ( "No students for this session." ) report = "" for s in students : report = report + _make_student_report_pdf ( s . id , session_id , is_final ) return report
Compiles all reports for a session into one for printing.
Compiles all reports for a session into one for printing .
"""
    Compiles all reports for a session into one for printing.
    This means we generate a bunch of anonymized reports, then concatenate them, since page breaks are
    handled in the HTML template.

    Keyword arguments:
    session_id -- session to generate reports for
    is_final -- if True, makes a final report. If False, generates a midterm report.
    """ # Concatenate anonymized reports for all students on the team
session_id
is_final