0 votos

Solución de problemas: cómo ver los errores de la acción de la carpeta scripts

Estoy intentando configurar una carpeta "drop": es decir, una carpeta vigilada con un Apple script asociado en "Folder Action ".

El script es bastante sencillo. Define un enlace de origen (la carpeta vigilada) y una ruta de destino (una carpeta con el mismo padre que la carpeta vigilada) y ejecuta un script de Python en el archivo descartado utilizando las dos variables definidas como argumentos de Python:

on adding folder items to this_folder after receiving added_items
    set dropFolder to quoted form of POSIX path of "IN/" -- use relative path
    set destinationFolder to quoted form of POSIX path of "OUT/" -- use relative path
    try
        repeat with EachItem in added_items
            set ItemInfo to info for EachItem
            if not folder of ItemInfo then
                set FileExtensionOfItem to name extension of ItemInfo
                if FileExtensionOfItem is "txt" then
                    set theBaseName to my getBaseNameOf(ItemInfo)
                    set pythonArg1 to theBaseName + "/packageElement"
                    set pythonArg2 to destinationFolder
                    set run_cmd to "python parser.py " + pythonArg1 + " " + pythonArg2
                    tell application "Terminal" -- pass file name to python using BASH from within this script
                        activate
                        do script run_cmd
                    end tell
                end if
            end if
        end repeat
    end try
end adding folder items to

Hay algún problema - probablemente menor en el script. O tal vez hay un error de permisos de archivo?

Normalmente rastreo mi código utilizando alguna técnica sencilla como display dialog ... sin embargo, No puedo ver estos diálogos si se ejecutan desde la carpeta vigilada.

Mi pregunta es la siguiente: ¿Qué herramientas podemos utilizar para solucionar los problemas de una acción de carpeta script como ésta?

2voto

red_menace Puntos 111

Me ha resultado útil poner el código de la acción de la carpeta en una plantilla que también se puede ejecutar como un applet, droplet, o desde el Editor de script. A continuación, se puede utilizar para las pruebas y / o ejecutar manualmente para los archivos elegidos:

on run -- applet or from the Script Editor
    doStuff for (choose file with multiple selections allowed)
end run

on open droppedItems -- droplet
    doStuff for droppedItems
end open

on adding folder items to theFolder after receiving newItems -- folder action
    doStuff for newItems
end adding folder items to

to doStuff for someItems -- do stuff with the file items
    try
        repeat with anItem in someItems
            -- whatever
        end repeat
    on error errmess number errnum
        display alert "Error " & errnum message errmess
    end try
end doStuff

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X