1 votes

Comment valider les données dans Automator ?

Je suis en train de créer une application dans Automator pour supprimer rapidement ma bibliothèque iMovie (pour gagner de l'espace). Cependant, je veux que mon application vérifie si la bibliothèque iMovie a déjà été supprimée et affiche une boîte de dialogue pour l'indiquer. Je sais comment créer cette boîte de dialogue, mais je n'arrive pas à trouver comment le faire. Comment dois-je m'y prendre ? J'utilise MacOS 10.11.

Mon flux de travail :

  1. Demandez une confirmation
  2. Obtenir les éléments spécifiés du Finder (la validation se ferait après ceci)
  3. Déplacer les éléments du Finder vers la corbeille
  4. Exécuter AppleScript (pour afficher un dialogue disant "Done")

0 votes

Montrez-nous le flux de travail et le code que vous avez déjà. Quelle version d'OS X/MacOS utilisez-vous ?

1voto

grg Points 181593

Vous pouvez utiliser une action Run AppleScript pour effectuer la validation. Entre les actions 2 et 3 de votre flux de travail, ajoutez une action Run AppleScript avec le texte suivant :

on run {input, parameters}
    if input is {} then
        display notification "File already deleted"
        tell me to quit
    end if
    return input
end run

Ceci vérifie si l'entrée est vide (parce que le fichier ne peut pas être trouvé), et si c'est le cas, exécute le code désiré - vous pouvez personnaliser l'option display notification comme bon vous semble, par exemple en affichant une alerte. L'utilisation de tell me to quit si l'entrée est vide, le flux de travail s'arrêtera à ce stade.

0voto

ghoti Points 101

Une vieille question, mais un peu plus d'informations pourraient être ajoutées.

Vous pouvez utiliser d'autres actions "Run" Automator, pas seulement AppleScript. Vous pouvez Exécuter un Shell script également. Une valeur de sortie du script qui est 0 sera considérée comme une vérification réussie, toute autre valeur sera une erreur. Et l'équivalent de "Display notification" est le stderr du script. Donc :

  1. Demande de texte - crée un dialogue à une seule variable

  2. Définir la valeur de la variable - donne un nom à la variable collectée

  3. Exécuter le Shell script - passer l'entrée à [stdin]

     read -r varname
     if [[ ! "$varname" =~ ^SomeValidatingRegexp$ ]]; then
       echo "Validation failed!" >&2
       exit 1
     fi
  4. Demande de texte - variable suivante

  5. etc.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X