AppleScript può eseguire uno script Python?

1

Come studente laureato di matematica, spesso ho degli studenti che mi inviano email per i compiti da valutare. Alcuni undergrad mi mandano i compiti in formato PDF. D'altro canto molti non lo fanno ed è molto stancante convertire manualmente i propri compiti in file di immagini in PDF manualmente o usando il mio semplice script Python usando img2pdf.

Vorrei essere in grado di

  1. scarica automaticamente allegati che sembrano compiti a casa (ad esempio l'e-mail ha "HW", "Compiti", "hw" o "Hw",

  2. e esistono immagini o PDF come allegati)

  3. e quindi se le immagini vengono ottenute combinarle in un singolo PDF usando lo script Python che ho già.

  4. Anche l'aggiunta di una nuova opzione nell'app Mail che può convertire allegati in PDF usando il mio script Python sarà ottima.

Penso che AppleScript possa gestire il problema del salvataggio degli allegati. Può anche eseguire uno script Python?

    
posta Ying Zhou 16.12.2018 - 03:38
fonte

2 risposte

1

Per rispondere alla domanda effettivamente nel tuo post (al contrario del titolo della domanda corrente), sì, è possibile eseguire uno script python da AppleScript.

Tuttavia, devi assicurarti di non provare a eseguire direttamente lo script. Il tuo AppleScript ha bisogno di usare Python per eseguire il tuo script.

Esempio

Supponendo che lo script Python sia chiamato img2pdf.py , devi passare il percorso del tuo script come argomento da AppleScript a Python. Di seguito è riportato un codice di esempio per mostrare come eseguire questa operazione se lo script è stato salvato nella cartella Documenti:

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

Tuttavia, come ho accennato nel mio precedente commento, vorrei semplicemente chiarire in anticipo le vostre esigenze (e includerle in qualsiasi criterio di assegnazione / saggio / compiti a casa) in modo che i vostri studenti sappiano cosa devono presentare e come. I miei figli devono fare questo tipo di cose per le loro valutazioni, quindi non penso che sia troppo per te da chiedere. Inoltre, renderebbe il tuo lavoro molto più semplice! :)

    
risposta data 16.12.2018 - 04:42
fonte
1

Ecco a cosa servono i servizi di Automator. Avvia Automator e crea un servizio (noto anche come azioni rapide in Mojave).

  1. Imposta le opzioni in modo che abbia ricevuto i file immagine in Mail.app.
  2. Aggiungi l'opzione "Esegui script shell".
  3. Imposta il menu a discesa della shell su "usr / bin / python".
  4. Imposta il menu a discesa "Passa input" su "come argomenti". Ti aiuterà con un po 'di python, che include gli argomenti (nomi di file degli allegati).

Aggiungi il tuo codice Python, che dovrà salvare il file in una cartella conosciuta (o, per un credito extra, usare pyObjC per aprire una finestra di dialogo.)

Puoi quindi fare clic con il tasto destro su questi allegati in Mail e selezionare il Servizio.

    
risposta data 16.12.2018 - 15:35
fonte

Leggi altre domande sui tag