def write_classlist_to_file(current_class: Class): """ Write classlist data to disk as JSON dict, according to Class object's Class.json_dict and Class.to_json_str methods. CAUTION: conversion to JSON will convert int/float keys to strings, and keep them as strings when loading. :param current_class: Class object :return: Path """ class_name = current_class.name data_filename = class_name + CLASSLIST_DATA_FILE_TYPE classlist_data_path = CLASSLIST_DATA_PATH.joinpath(class_name, data_filename) json_class_data = current_class.to_json_str() # Make data path if it doesn't exist. classlist_data_path.parent.mkdir(parents=True, exist_ok=True) with open(classlist_data_path, 'w') as classlist_file: classlist_file.write(json_class_data) return classlist_data_path
def _write_classlist_to_file(self, current_class: Class) -> None: """ Write classlist data to disk as JSON dict, according to Class object's Class.json_dict and Class.to_json_str methods. CAUTION: conversion to JSON will convert int/float keys to strings, and keep them as strings when loading. :param current_class: Class object :return: None """ class_id = current_class.id data_filename = class_id + self.class_data_file_type classlist_data_path = self.class_data_path.joinpath(class_id, data_filename) json_class_data = current_class.to_json_str() # Make data path if it doesn't exist. classlist_data_path.parent.mkdir(parents=True, exist_ok=True) with open(classlist_data_path, 'w') as classlist_file: classlist_file.write(json_class_data)