94 lines
3.1 KiB
JavaScript
94 lines
3.1 KiB
JavaScript
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)
|
|
}
|