¿Cómo puedo mover los recordatorios de una lista a otra por Applescript?

3

Tengo un caso de uso en el que quiero mover ciertos recordatorios que creé usando Siri de la lista predeterminada a otra. Programáticamente, a través de un script AppleScript, que se ejecuta en una Mac.

tell application "Reminders"
    set output to ""
    set inBoxList to "Erinnerungen"
    set newList to "Ausgaben"
    show list newList -- this works
    if (count of (reminders in list inBoxList whose completed is false)) > 0 then
        set todoList to reminders in list inBoxList whose completed is false
        repeat with itemNum from 1 to (count of (reminders in list inBoxList whose completed is false))
            set reminderObj to item itemNum of todoList
            set nameObj to name of reminderObj
            set idText to id of reminderObj
            if (nameObj contains "€" or nameObj contains " Euro ") then
                set output to output & "• " & nameObj
                set completed of reminderObj to "no"
                set container of reminderObj to list "Ausgaben" -- this doesn't
            end if
        end repeat
    end if
    return output
end tell

Es la siguiente línea que no funciona:

set container of reminderObj to list "Ausgaben" -- this doesn't

He probado variaciones como

set newList to list "Ausgaben"
set container of reminderObj to newList

pero siempre recibo un error que se reduce a que no puedo configurar el contenedor porque no es la lista de tipos correcta.

    
pregunta Peter Brülls 04.06.2015 - 12:57

1 respuesta

2

No puede cambiar el contenedor , porque esta propiedad es de solo lectura - > container (list, r/o) : r / o significa solo lectura

Pero puedes usar el comando mover

tell application "Reminders"
    set output to ""
    set newList to list "Ausgaben"
    show newList
    repeat with thisReminder in (get reminders in list "Erinnerungen" whose completed is false)
        set nameObj to name of thisReminder
        if (nameObj contains "€" or nameObj contains " Euro ") then
            set output to output & "• " & nameObj
            move thisReminder to newList
        end if
    end repeat
    return output
end tell
    
respondido por el jackjr300 04.06.2015 - 20:39

Lea otras preguntas en las etiquetas