Applescript: monitorare una cartella e segnalare nuovi file
Nel precedente articolo, ho parlato di come rendere visibile la cartella pubblica del proprio Mac anche all’esterno, in modo da permettere a chiunque, fosse anche al Polo Nord, di accedervi.
Bene, supponiamo che questo povero disgraziato si connetta, dal Polo Nord, alla vostra cartella pubblica (condivisa), e vi carichi alcuni documenti importanti: come fate a sapere che è stato caricato un nuovo file, a meno di non essere avvertiti per telefono o per email?
In nostro aiuto ci arriva Applescript, simpatico linguaggio di programmazione made in Cupertino, che è in grado di effettuare un’azione, qualora si verifichino determinate condizioni.
L’idea, nel nostro caso, è:
- Monitora la cartella condivisa, e segnala l’arrivo di nuovi file
- Escludi dal conto i file nascosti (che iniziano col .), utilizzati da OSX
- Aspetta che l’upload del file sia effettivamente completato
- Emetti un suono
- Mostra un pop-up, che avvisa della presenza del file, qualora non si sia sentito il suono
Apriamo l’app “Script Editor.app”, e digitiamo queste righe di codice:
[bash]– Una volta "attaccato" ad una cartella, verra suonato un avviso sonoro ogni volta che un nuovo file verra’ creato nella cartella
on adding folder items to this_folder after receiving added_items
if name of (info for added_items) does not start with "." then
–> Aspetta che la cartella non cambi dimensione ed il file sia caricato
repeat
set x to (info for this_folder with size)
delay 1
set y to (info for this_folder with size)
if x = y then exit repeat
end repeat
try
tell application "Finder"
do shell script "afplay ‘/System/Library/PrivateFrameworks/ToneLibrary.framework/Versions/A/Resources/AlertTones/tweet_sent.caf’"
display alert "Nuovo file in cartella Pubblica o su Airport USB"
end tell
on error
display dialog "Error occured"
return
end try
end if
end adding folder items to[/bash]
Salviamo lo script in ~/Libreria/Scripts/Folder Action Scripts/
Selezioniamo la cartella che vogliamo monitorare, clic sul tasto destro, clic su “Servizi->Impostazione Azioni cartella“, e selezioniamo lo script appena creato.
Se tutto è andato bene, copiando un file nella cartella, dovreste sentire un cinguettio, e dovrebbe apparirvi un pannello come il mio:
Le possibilità di sbizzarrirsi con Applescript sono infinite. Se modificate questo script ed avete proposte su come migliorarlo, non esistate a lasciare un commento!