¿Puede AppleScript ejecutar un script de Python?

Como estudiante de posgrado en matemáticas, a menudo tengo estudiantes universitarios que me envían tareas por correo electrónico para calificarlas. Algunos estudiantes universitarios me envían tareas en formato PDF. Por otro lado, muchos no lo hacen y es muy tedioso convertir su tarea en archivos de imagen en archivos PDF manualmente, ya sea en línea o usando mi script Python simple usando img2pdf.

me gustaria poder

  1. descargar automáticamente archivos adjuntos que parecen tareas (es decir, el correo electrónico tiene "HW", "Homework", "hw" o "Hw",

  2. y existen imágenes o archivos PDF como archivos adjuntos)

  3. y luego, si se obtienen imágenes, combínelas en un solo PDF usando el script de Python que ya tengo.

  4. Agregar una nueva opción en la aplicación Mail que pueda convertir archivos adjuntos a PDF usando mi secuencia de comandos de Python también será excelente.

Creo que AppleScript puede manejar el problema de guardar archivos adjuntos. ¿También puede ejecutar un script de Python?

Si yo fuera usted, configuraría la respuesta automática en Mail, diciendo que no se aceptarán tareas si no están en formato PDF.
Tengo que admitir que mi primer pensamiento fue muy similar a la sugerencia de @Buscar웃. En mi caso, solo dejaría claros tus requisitos por adelantado (y los incluiría en cualquier tarea/ensayo/criterio de tarea) para que los estudiantes sepan lo que deben enviar. y cómo. Mis hijos tienen que hacer este tipo de cosas para sus evaluaciones, así que no creo que sea mucho pedir. ¡Además, eso haría tu trabajo mucho más fácil! :)
Tengo que estar de acuerdo con Buscar y agregaría que debería ser un pdf por correo electrónico; deberían hacer la unión y proporcionar un nombre adecuado: utilizo el número de estudiante ya que es único por estudiante...

Respuestas (2)

Para responder a la pregunta en su publicación (a diferencia del título de la pregunta actual), sí, es posible ejecutar un script de python desde AppleScript.

Sin embargo, debe asegurarse de que no está intentando ejecutar el script directamente. Su AppleScript necesita usar Python para ejecutar su script.

Ejemplo

Suponiendo que su secuencia de comandos de Python se llame img2pdf.py, debe pasar la ruta de su secuencia de comandos como un argumento de AppleScript a Python. A continuación se muestra un código de ejemplo para mostrar cómo haría esto si su secuencia de comandos se guardara en su carpeta Documentos:

do shell script "python /Users/yourusername/Documents/img2pdf.py"

Pero, como mencioné en mi comentario anterior, simplemente aclararía sus requisitos por adelantado (y los incluiría en cualquier criterio de asignación/ensayo/tarea) para que sus estudiantes sepan qué deben enviar y cómo. Mis hijos tienen que hacer este tipo de cosas para sus evaluaciones, así que no creo que sea mucho pedir. ¡Además, eso haría tu trabajo mucho más fácil! :)

¡Realmente gracias! Con el fin de aprender AppleScript para lolz, decido escribir un script de cualquier manera.

Para eso están los servicios de Automator. Inicie Automator y cree un Servicio (también conocido como Acciones rápidas en Mojave).

  1. Configure las opciones para que reciba archivos de imagen en Mail.app.
  2. Agregue la opción "Ejecutar script de shell".
  3. Establezca el menú desplegable de shell en "usr/bin/python".
  4. Establezca el menú desplegable "pasar entrada" en "como argumentos". Te ayudará con un poco de python, que incluye los argumentos (nombres de archivo de los archivos adjuntos).

Agregue su código python, que deberá guardar el archivo en una carpeta conocida (o, para crédito adicional, use pyObjC para abrir un cuadro de diálogo de archivo).

A continuación, puede hacer clic con el botón derecho en estos archivos adjuntos en Correo y seleccionar el Servicio.