Jump to content


Forumul s-a mutat!

Aceasta este arhiva forumului MacForum.ro din perioada 2010-2014.
Noul forum poate fi accesat aici.
Conturile vechi nu mai sunt valabile pe noul forum!





Photo
- - - - -

Introducere în Automator

  Posted by Tudor Vedeanu , in Tutoriale 08 February 2010 · 159 views

Automator este, după părerea mea, cea mai subestimată și ignorată componentă a sistemului de operare Mac OS X. Apărut în 2005 odată cu Mac OS X 10.4 Tiger, Automator oferă posibilitatea de a crea un fel de mini-aplicații care execută automat o succesiune de acțiuni alese de noi. Pentru a înțelege mai bine despre ce e vorba, voi începe cu următoarea problemă.
Să presupunem că am mai multe arhive ZIP, pe care vreau să le dezarhivez, iar tot conținutul lor să-l mut într-un singur folder. În mod normal, fără Automator, ar trebui să fac așa:
  • Selectez în Finder toate ZIP-urile.
  • Aleg File - Open pentru a le dezarhiva. Va rezulta un număr de foldere egal cu numărul de ZIP-uri.
  • Trebuie să merg în fiecare folder, să selectez toate fișierele și să le trag cu mausul într-un folder-destinație.
Dacă am doar 3-4 arhive, nu e foarte greu să fac asta manual. Dar dacă am 20? Sau mai multe? Cum m-ar putea scuti Automator de plimbatul prin N foldere? Primii pași în Automator
Menționez de la început că voi vorbi despre versiunea de Automator care vine cu Snow Leopard. Lucrurile pot fi mai mult sau mai puțin diferite în Leopard și Tiger, dar principiile de bază rămân aceleași.
Mini-aplicațiile de care vorbeam mai sus sunt denumite în Automator workflow-uri. Un workflow este compus din acțiuni care se succed una după alta și pot chiar interacționa între ele. Dacă deschidem Automator vom vedea că fereastra programului este împărțită în două zone:
Posted Image
  • Partea din stânga conține acțiunile pe care le putem noi folosi.
  • În partea din dreapta vom construi workflow-ul nostru, trăgând acolo cu mausul acțiunile din stânga.
Ce sunt aceste „acțiuni”?
Să vorbim puțin despre acțiuni. Ele sunt mici progrămele care execută o singură operațiune, însoțesc unele dintre aplicațiile pe care le avem pe Mac și se instalează odată cu ele. Ne vom da seama mai bine de lucrul acesta dacă mergem în meniul View și selectăm Arrange Actions by Application. În coloana din stânga vom vedea acțiunile sortate după aplicația-mamă.
Posted Image
Nu toate programele pe care le avem pe Mac oferă accesul la acțiuni. Cum era de așteptat, marea lor majoritate sunt acțiuni ale aplicațiilor Apple. De exemplu Finder ne pune la dispoziție vreo 35 de acțiuni, Mail - 15 acțiuni ș.a.m.d. Aplicația Transmit făcută de cei de la Panic oferă și ea, imediat după instalare, trei acțiuni. Chiar și Microsoft Office aduce o zestre foarte importantă de acțiuni, împărțite între cele patru programe importante ale suitei.
Ce facem dacă vrem să folosim acțiunile unei aplicații pe care nu o găsim în Automator? De exemplu poate vrem să folosim într-un worflow acțiuni care execută taskuri Photoshop. În acest caz singurele soluții sunt:
  • Dacă aplicația este scriptabilă, am putea construi o acțiune folosind AppleScript. Acest lucru presupune, evident, cunoștințe solide de AppleScript.
  • Putem căuta pe internet acțiuni gata făcute. Există pachete de acțiuni pentru Photoshop, Illustrator, Quark XPress, gratuite sau contra cost.
Unele acțiuni își execută pur și simplu operațiunea, fără să ceară alte informații. Altele au nevoie de niște parametri pe care-i dăm noi, prin intermediul unor butoane, meniuri, câmpuri de text configurabile din Automator. În cadrul unui workflow însă, majoritatea acțiunilor pot comunica între ele, prin acceptarea unor parametri primiți de la acțiunea precedentă (la „intrare”), și prin furnizarea altor informații către acțiunea următoare (la „ieșire”).
„Arta” folosirii Automator constă în combinarea logică a acțiunilor, astfel încât prin rularea lor pas cu pas să rezulte un workflow funcțional și util.
Să revenim la exemplul nostru. Cei trei pași enumerați mai sus trebuie traduși în acțiuni executate de Automator. Folosesc ca test trei arhive ZIP în care am pus niște poze.
Posted ImagePasul 1: Automator, ia te rog fișierele ZIP din folderul ăsta
În primul pas vreau să-i spun lui Automator care e folderul cu ZIP-uri. Am nevoie deci de o acțiune care să mă lase să aleg un folder din Finder, și pentru asta voi folosi acțiunea „Ask for Finder Items”.
Posted Image
Observăm că are câțiva parametri configurabili:
  • Prompt: aici scriu mesajul pe care să mi-l afișeze Automator la executarea acțiunii.
  • Start at: este punctul de plecare în Finder atunci când mi se deschide fereastra în care aleg folderul cu ZIP-uri.
  • Type: tipul selecției făcute de mine, care va fi un folder.
Bun. Acum trebuie să-i zic lui Automator să ia conținutul folderului, adică fișierele ZIP. Voi folosi acțiunea „Get Folder Contents”.
Posted Image
Observați cum se conectează între ele cele două acțiuni? Prima oferă ca informație de ieșire numele unui folder. A doua preia numele folderului, îi citește conținutul, și oferă la ieșire numele tuturor fișierelor și folderelor găsite. În cazul meu, trei ZIP-uri.
Paranteză. Vă veți întreba poate, pe parcursul acestui tutorial, cum de mi-am dat seama ce acțiuni a trebuit să folosesc la fiecare pas? Păi în primul rând am judecat așa: fiindcă trebuie să fac niște operațiuni de deschidere și mutare a unor foldere și fișiere, mi se pare logic să folosesc niște acțiuni specifice Finder. Apoi, am avut la îndemână două lucruri extrem de utile:
  • Câmpul de căutare din partea de sus a panoului din stânga. Dacă știți limba engleză și vreți să aflați - de exemplu - dacă există vreo acțiune care poate muta fișiere, atunci căutați „move” și aflați imediat răspunsul.
  • Descrierea acțiunii, aflată în partea de jos a panoului din stânga. Dacă selectați o acțiune și citiți descrierea ei, vă veți da seama imediat ce face.
Închidem paranteza și mergem mai departe. Pasul 2: deschide fișierele ZIP
Pentru asta voi folosi acțiunea „Open Finder Items”.
Posted Image
Are un parametru numit „Open with” care mă lasă să aleg cu ce aplicație se vor deschide fișierele. Las „Default Application” pentru a folosi dezarhivatorul din sistem. Evident, acțiunea se conectează cu precedenta, de unde preia numele ZIP-urilor. Pasul 3: aruncă la coș arhivele ZIP
Acesta e un pas suplimentar pe care m-am gândit să-l adaug în workflow. Nu mai am nevoie de ZIP-uri după dezarhivare, deci ce-ar fi să le dau la coș? Cum fac asta? Cu acțiunea „Move Finder Items to Trash”.
Posted ImagePasul 4: ia conținutul folderelor rezultate și mută-l în altă parte
Pentru asta ar trebui să folosesc din nou acțiunea „Get Folder Contents”, dar am o problemă. Cum îi spun acum lui Automator în ce foldere trebuie să caute? Mai sus am văzut că acțiunea a preluat informațiile de la cea precedentă, dar acum eu nu mai am cum să fac asta. „Move Finder Items to Trash” nu-mi oferă la ieșire nicio informație pe care aș putea-o folosi. Practic Automator ar trebui acum să se întoarcă în folderul de la început, să caute folderele rezultate în urma arhivării, să le ia conținutul și să-l mute în altă parte. Cum fac să aduc din nou în Automator numele folderului sursa? Folosind o variabilă.
Variabilele sunt niște containere în care putem stoca informații, cu scopul de a le utiliza mai târziu în workflow. Scrierea informațiilor într-o variabilă se face cu acțiunea „Set Value of Variable”, iar citirea cu „Get Value of Variable”. În exemplul nostru, ideea e să folosesc o variabilă pentru a stoca numele folderului inițial, imediat după prima acțiune, pentru a-l avea la dispoziție oricând am nevoie de el.
Mă întorc așadar la prima acțiune și imediat după ea trag din stânga „Set Value of Variable”. Îi dau un nume variabilei, să zicem „folder_sursă”. Această variabilă va conține de acum încolo numele folderului original.
Posted Image
Apoi, imediat după „Move Finder Items to Trash” pun o acțiune „Get Value of Variable” pentru a extrage conținutul variabilei. Acum am la dispoziție folderul original, deci pot reveni la operațiunile cu fișiere.
Posted Image
Va trebui să folosesc „Get Folder Contents” de două ori, pentru a muta numai conținutul celor trei foldere, nu și folderele în sine. Astfel:
  • Prima acțiune îmi selectează conținutul folderului original, adică cele trei foldere.
  • A doua acțiune îmi selectează conținutul celor trei foldere, adică fișierele pe care trebuie să le mut.
Posted Image
Și în final se pare că mai e nevoie de un singur pas: o acțiune care mută fișiere. Nu e greu de găsit, dacă știți limba engleză: se numește „Move Finder Items”, în care pot alege folderul în care să fie mutate fișierele. Sau, dacă vreau ca acțiunea să mă lase să aleg orice folder de fiecare dată când rulez workflow-ul, dau clic pe Options și bifez „Show this action when the workflow runs”. Este o opțiune foarte importantă, care se utilizează atunci când se crează workflow-uri generice care vor fi refolosite.
http://command-n.ro/...utomator-11.png
Dacă veți încerca să recreați acest workflow și să-l rulați, sunt șanse mari ca la pasul în care se execută dezarhivarea fișierelor, să primiți o eroare care vă avertizează că nu au fost găsite arhivele. Mi s-a întâmplat și mie, și într-un final am reușit să găsesc o explicație. Automator trece foarte repede de la dezarhivare la operațiunea de ștergere a arhivelor. Atât de repede, încât programul de dezarhivare nici nu apucă să dezarhiveze toate ZIP-urile, că ele sunt deja în Trash. Pentru a preveni acest lucru, voi introduce un respiro între cele două acțiuni. Folosesc acțiunea „Pause” prin care pun o pauză de câteva secunde secunde în workflow, imediat după acțiunea de deschidere a ZIP-urilor. Suficient cât să-și poată face treaba utilitarul de dezarhivare.
http://command-n.ro/...utomator-12.png
Salvez și testez: de data asta chiar merge!
Nu știu cât de bine am reușit să mă fac înțeles în acest tutorial, dar așa cum spune și titlul, este vorba doar de o introducere în Automator. Dacă veți explora aplicația veți descoperi multe alte lucruri, pe care le voi aduce și eu în discuție în alte articole.

Source





Trackbacks for this entry [ Trackback URL ]

There are no Trackbacks for this entry

September 2015

M T W T F S S
 123456
78910111213
14 15 1617181920
21222324252627
282930    

Recent Comments

0 user(s) viewing

0 members, 0 guests, 0 anonymous users