Applescript: monitorare una cartella e segnalare nuovi file | Flavio's blog


Applescript: monitorare una cartella e segnalare nuovi file

in OSX | | 0 commenti » | Ultima modifica:

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:

Alert: nuovo file nella cartella

Le possibilità di sbizzarrirsi con Applescript sono infinite. Se modificate questo script ed avete proposte su come migliorarlo, non esistate a lasciare un commento!



0 commenti »

Per piacere accetta i cookie di terze parti per poter commentare il post! Il pulsante CAMBIA LE SCELTE DEI COOKIE si trova nel footer del sito. / In order to comment this post, please accept the third party cookies! The button CAMBIA LE SCELTE DEI COOKIE is in the footer of the website.