Beispiel #1
0
def load_class_from_disk(class_name: str):
    """
    Load class data from a class data ('.cld') file, return Class object.

    :param class_name: str
    :return: Class object
    """

    class_data_filename = class_name + CLASSLIST_DATA_FILE_TYPE
    classlist_data_path = CLASSLIST_DATA_PATH.joinpath(class_name,
                                                       class_data_filename)

    loaded_class = Class.from_file(classlist_data_path)
    return loaded_class
Beispiel #2
0
    def load_class(self, class_id: str) -> Class:
        """
        Load a class from the database.

        Load class data from a class data ('.cld') file, return Class object.

        :param class_id: str - the class' name
        :return: Class object
        """
        class_data_filename = class_id + self.class_data_file_type
        classlist_data_path = self.class_data_path.joinpath(class_id, class_data_filename)

        loaded_class = Class.from_file(classlist_data_path)
        # Append ids
        loaded_class.id = loaded_class.name
        # Student id not added: student cannot be found in the db by name alone.
        for student in loaded_class.students:
            student.id = student.name
        return loaded_class