function main() { var folder = DriveApp.getFolderById("15p4vXVQd6hhcMl73VOxD8VctL2gR-q43") var files = folder.getFiles() while (files.hasNext()) { var file = files.next(); var date = "Thu Jan 04 2024 14:12:11 GMT-0500 (Eastern Standard Time)" Logger.log(date) Logger.log(file.getLastUpdated().toString()) if (date == file.getLastUpdated().toString()) { var updated_file = file.getBlob(); var updated_blob = updated_file.getDataAsString(); var updated_data = Utilities.parseCsv(updated_blob); Logger.log(file.getName()) } else { var outdated_file = file.getBlob(); var outdated_blob = outdated_file.getDataAsString(); var outdated_data = Utilities.parseCsv(outdated_blob); Logger.log(file.getName()) } } parseCSV(outdated_data, updated_data) } function parseCSV(outdated_data, updated_data) { let domains_to_update = {}; let updatedFlag = 0; let outdatedFlag = 0; for (item of outdated_data.slice(1)) { outdatedFlag++ } Logger.log(outdatedFlag) for (item of updated_data) { updatedFlag++ } Logger.log(updatedFlag) } function backup(outdated_mapping, updated_mapping) { //let domains_to_update = []; let domains_to_update = {}; let updatedFlag = 0; let outdatedFlag = 0; while(updatedFlag < updated_mapping.length || outdatedFlag < outdated_mapping.length){ if(updated_mapping[updatedFlag]['column_0'] == outdated_mapping[outdatedFlag]['column_0']){ let updateFlag = false; let allUpdatedGroups = []; let allOutdatedGroups = []; let domain = updated_mapping[updatedFlag]['column_0']; for(let i = 1; i < Object.keys(updated_mapping[updatedFlag]).length; i++){ let column = `column_${i}`; allUpdatedGroups.push(updated_mapping[updatedFlag][column].trim()); } for(let j = 1; j < Object.keys(outdated_mapping[outdatedFlag]).length; j++){ let column = `column_${j}`; allOutdatedGroups.push(outdated_mapping[outdatedFlag][column].trim()); } if(allUpdatedGroups.length !== allOutdatedGroups.length){ //let updatedDomain = {}; //updatedDomain[domain] = allUpdatedGroups; //domains_to_update.push(updatedDomain); domains_to_update[domain] = allUpdatedGroups; } else { for(let k = 0; k < allUpdatedGroups.length; k++){ if(allOutdatedGroups.indexOf(allUpdatedGroups[k]) == -1){ //let updatedDomain = {}; //updatedDomain[domain] = allUpdatedGroups; //domains_to_update.push(updatedDomain); domains_to_update[domain] = allUpdatedGroups; } } } updatedFlag++; outdatedFlag++; } else { if(updated_mapping[updatedFlag]['column_0'] > outdated_mapping[outdatedFlag]['column_0']){ outdatedFlag++; } else if(updated_mapping[updatedFlag]['column_0'] < outdated_mapping[outdatedFlag]['column_0']){ updatedFlag++; } } if(updatedFlag > updated_mapping.length-1 || outdatedFlag > outdated_mapping.length-1){ break; } } Logger.log(domains_to_update) }