Created
February 4, 2023 22:09
-
-
Save amolok/03af88094c741475d91f774706764390 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function ageFolders() { | |
let folder_id = '0B7Y2RaVxyfu-LU04MkxYdFhnSzg'; | |
let folders = DriveApp.getFolderById(folder_id).getFolders(); | |
var painted = []; | |
while(folders.hasNext()){ | |
let folder = folders.next(); | |
let name = folder.getName(); | |
let date = getDateFromArt(name) || folder.getDateCreated(); | |
painted.push( paintFolder(folder,date) ); | |
} | |
Logger.log(painted); | |
} | |
SpecialFolders = { | |
"Video": "Bubble gum", | |
"Movies": "Purple rain", | |
"Photo": "Toy eggplant", | |
"Archive": "Rainy sky", | |
"My new Documents": "Asparagus", | |
"Important": "Cardinal", | |
"Templates": "Chocolate ice cream", | |
"Portfolio": "Denim", | |
} | |
function paintFolder(folder,d){ | |
let id = folder.getId(); | |
let name = folder.getName(); | |
let age = daysTo(d); | |
var color = ""; | |
if(name in SpecialFolders){ | |
color = SpecialFolders[name]; | |
}else{ | |
color = "Mouse"; | |
if(age<6*4*7) color = "Mountain grey"; | |
if(age<4*4*7) color = "Earthworm"; | |
if(age<2*4*7) color = "Yellow cab"; | |
if(age<4*7) color = "Mars orange"; | |
if(age<2*7) color = "Wild straberries"; | |
} | |
folderColor.setColorByName(id, color); | |
return {id:id, name:name, age:age, color:color}; | |
} | |
var folderColor = {} | |
folderColor.setColorByName = function(id,name){ | |
if(!colorPalette[name]){ | |
throw "Name is not valid, please check name in colorPalette."; | |
} | |
this.setColor(id,colorPalette[name]); | |
return true; | |
} | |
folderColor.init = function(){ | |
return this; | |
} | |
folderColor.setColor = function(id,hexa){ | |
var url = 'https://www.googleapis.com/drive/v2/files/'+id+'?fields=folderColorRgb'; | |
var param = { | |
method : "patch", | |
contentType: 'application/json', | |
headers : {"Authorization": "Bearer " + ScriptApp.getOAuthToken()}, | |
payload: JSON.stringify({folderColorRgb:hexa}) | |
}; | |
var html = UrlFetchApp.fetch(url,param).getContentText(); | |
return html; | |
} | |
var colorPalette = { | |
"Chocolate ice cream":"#ac725e", | |
"Old brick red":"#d06b64", | |
"Cardinal":"#f83a22", | |
"Wild straberries":"#fa573c", | |
"Mars orange":"#ff7537", | |
"Yellow cab":"#ffad46", | |
"Spearmint":"#42d692", | |
"Vern fern":"#16a765", | |
"Asparagus":"#7bd148", | |
"Slime green":"#b3dc6c", | |
"Desert sand":"#fbe983", | |
"Macaroni":"#fad165", | |
"Sea foam":"#92e1c0", | |
"Pool":"#9fe1e7", | |
"Denim":"#9fc6e7", | |
"Rainy sky":"#4986e7", | |
"Blue velvet":"#9a9cff", | |
"Purple dino":"#b99aff", | |
"Mouse":"#8f8f8f", | |
"Mountain grey":"#cabdbf", | |
"Earthworm":"#cca6ac", | |
"Bubble gum":"#f691b2", | |
"Purple rain":"#cd74e6", | |
"Toy eggplant":"#a47ae2" | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment