Skip to content

Instantly share code, notes, and snippets.

@mavarazy
Last active July 4, 2017 19:14
Show Gist options
  • Save mavarazy/85c55e80d448516607d8ab99571a2dda to your computer and use it in GitHub Desktop.
Save mavarazy/85c55e80d448516607d8ab99571a2dda to your computer and use it in GitHub Desktop.
Small hack to extract CSV of worked hours from toggl (run in browser console)
let elements = document.getElementsByClassName("TimeEntriesList__list");
let report = Array.apply(null, elements).map(function(el) {
// Do stuff here
let summary = el.getElementsByClassName("DayListItem__container")[0];
let date = summary.getElementsByTagName("div")[1].textContent;
let total = summary.getElementsByClassName("DayListItem__totalTime")[0].textContent;
let itemsHtml = el.getElementsByClassName("ListItem__item");
let items = Array.apply(null, itemsHtml).map((el) => {
let description = el.getElementsByClassName("Description__container")[0].textContent;
let duration = el.getElementsByClassName("Duration__box")[0].textContent;
let time = el.getElementsByClassName("Duration__times")[0].textContent;
return { description, duration, time };
});
return { date, total, items };
});
report.forEach(({ date, total, items }) => console.log(`"${date}","${total}"`));
report.forEach(({ date, total, items }) => items.forEach(({ description, duration, time }) => console.log(`"${date}","${description}","${time}","${duration}"`)));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment