Skip to content

Instantly share code, notes, and snippets.

@amolok
Created February 4, 2023 22:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save amolok/03af88094c741475d91f774706764390 to your computer and use it in GitHub Desktop.
Save amolok/03af88094c741475d91f774706764390 to your computer and use it in GitHub Desktop.
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