Bug, performantie-redenen, stiefmoederlijke behandeling van Automator, ... Er kunnen verschillende factoren meespelen. Zoeken op naam naar oude events binnen Agenda lukt bijv. blijkbaar wel.
Onderstaande JavaScript code laat toe om te zoeken naar events die een bepaalde titel bevatten, met startdatum / einddatum in een bepaalde periode. Het script kan gebruikt worden in Automator als JavaScript taak (of stand-alone in de ScriptEditor).
// true => list events to be deleted
// false => delete events found (use with care!)
retrieveOnly = true
function run(input, parameters) {
const application = Application("Calendar")
const calendar = application.calendars.byName("Automator")
const condition = {summary: {_contains: "test automator"}, startDate: {_greaterThanEquals: new Date("2023-06-01")}, endDate: {_lessThan: new Date("2023-07-01")}}
const events = calendar.events.whose(condition)()
if (retrieveOnly) {
return events
} else {
for (const event of events) {
event.delete()
}
return `Deleted ${events.length} events`
}
}
Aan te passen criteria:
- naam kalender is "Automator"
- titel bevat "test automator"
- startdatum en einddatum liggen in de maand juni 2023.
Het script doorloopt de events van de gekozen kalender, dus of het lang duurt kan nogal verschillen (als er tenminste geen timeout bijkomt).
De interactie tussen JavaScript en de Automator / Calendar verwijder stap lijkt echter ook niet consistent te werken, maar je kan events ook met scripting verwijderen, en dan is Automator niet meer nodig.