09/06/07
Fonctions diverses AppleScript (perso)

Dans ce billet, je stockerai au fur et à mesure, des morceaux d'AppleScript persos qui m'ont été plus ou moins utiles…
Il se peut, d'ailleurs, que nombre d'entre eux utilisent la commande do shell script, je commence en effet à sentir certaines limites d'AppleScript et de ses commandes natives, par exemple exists process qui ne recense évidemment pas les tâches de fond, et donc une alternative dès le paragraphe suivant.
Tuer un processus résident si il existe
on kill(process2kill) set myTop to do shell script "top -l 1" if myTop contains space & process2kill & space then do shell script "killall " & process2kill return true else return false end if end kill
Comme chacun le sait, la commande top ne retourne que les 10 premiers caractères du nom de chaque processus et de plus celui-ci peut être légèrement différent de ce que l'on a l'habitude de voir dans le Moniteur d'activité.
Récupérer l'extension d'un fichier
on get_extension(file_path) set text item delimiters to "." set temp to every text item of file_path set text item delimiters to "" return "." & last item of temp end get_extension
Fonction pouvant être utile, par exemple, lors de la conversion de fichiers (bmp ⇒ png, html ⇒ pdf…), au lieu d'ajouter une extension supplémentaire au fichier converti, on peut commencer par extraire l'extension avant d'effectuer un remplacement de l'ancienne extension par la nouvelle.
Vérifier les droits en écriture
on verify_writability(unix_path) try do shell script "[ -w " & quoted form of unix_path & " ]" return true on error return false end try end verify_writability
Cette petite fonction retourne true seulement si le fichier existe et est accessible en écriture… pour quelques éclaircissements, lire : Unix: le Bourne shell - les tests.


