Skip to content

Instantly share code, notes, and snippets.

@moshe
Created October 17, 2021 18:58
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 moshe/0d74c0b54a4e99b0d96b157d9e740918 to your computer and use it in GitHub Desktop.
Save moshe/0d74c0b54a4e99b0d96b157d9e740918 to your computer and use it in GitHub Desktop.
Import AWS events as Gmail meetings
function clear(x) {
return x.replaceAll(',', '-').replaceAll('\"', '-')
}
const header = 'Subject,All Day Event,Start Date,Start Time,End Date,End Time,Description,Location';
copy(`${header}\n${[...document.querySelectorAll('.awsui-util-mb-xl')]
.map((event) => {
const [title, id] = event.querySelector('.awsui-util-mt-m').children
const description = event.querySelector('.sanitized-html').textContent
const table = event.querySelectorAll('[data-awsui-column-layout-root=true]')[0]
const tableData = Object.fromEntries([...table.querySelectorAll('div')].map(value => {
[key, ...value] = value.textContent.split(':');
return [key, value.join(':')]
}))
return {title: title.textContent, id: id.textContent, description, tableData}
}).filter(({tableData}) => tableData['Time'] !== 'None')
.map(({title, id, tableData, description}) => {
let date;
if (tableData['Date'].endsWith('November 29')) {
date = '11/29/2021'
}
if (tableData['Date'].endsWith('November 30')) {
date = '11/30/2021'
}
if (tableData['Date'].endsWith('December 1')) {
date = '12/01/2021'
}
if (tableData['Date'].endsWith('December 2')) {
date = '12/02/2021'
}
if (tableData['Date'].endsWith('December 3')) {
date = '12/03/2021'
}
if (tableData['Date'].endsWith('December 4')) {
date = '12/04/2021'
}
if (tableData['Date'].endsWith('December 5')) {
date = '12/05/2021'
}
const [startTime, endTime] = tableData['Time'].split(' - ')
return `${id} ${clear(title)} - ${tableData['Session type']} (${tableData['Session level']}),False,${date},${startTime},${date},${endTime},${clear(description)},${clear(tableData['Location'])}`
}).join('\n')}`)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment