Automatizácia vo svete počítačov II. - Automator
Už dávno neplatí, že počítače sú len pre programátorov. V dnešnej dobe s nimi pracujú z veľkej časti bežní ľudia, ktorí až tak moc nerozumejú celej problematike. Napriek tomu, aj oni si z času na čas potrebujú zjednodušiť život.
1. Čo je Automator
Od vydania MAC OS X Tiger (10.4) má každý používateľ MACu dostupný softvér s názvom Automator. Len málo používateľov však vie využiť jeho potenciál.
Pokiaľ nie ste človek, ktorý je zrovna zdatný programátor, a potrebujete si niektoré úlohy automatizovať, Automator môže byť nápomocný.
Automator je nástroj, ktorý umožňuje vytvárať jednoduché programy na zjednodušenie resp. zautomatizovanie úloh bez nutnosti programovania. Samotný Automator nie je všemocný a pri náročnejších úlohách si budete musiet pomôcť s AppleScriptom prípadne s Bashom, ktoré Automator dokáže volať. Pre väčšinu bežných používateľov je však samotný Automator dostačujúci.
V tejto časti by som chcel na príklade ukázať ako si s Automatorom urobiť jednoduchý program ako aj predstaviť prostredie a prácu s Automatorom.
Príklad sa bude týkať spracovania fotiek, keďže veľa z nás túto činnosť raz za čas absolvuje. Poznáte to. Načítate si hromadu fotiek z dovolenky a sú príliš veľké na to, aby sa prezerali. Väčšinou použijete jeden program na zmenšenie, ďalší na hromadné premenovanie a potom prípadne ručne porozdeľujete na nejaké ďalšie priečinky podľa dátumu a pod.
Automator ako taký funguje na princípe volania dostupných funkcií z nainštalovaných aplikácií. Každý, kto programuje aplikáciu pre MAC, má možnosť doprogramovať podporu pre Automator. To znamená, že niektoré funkcie jeho programu sú dostupné pre Automator, ktorý ich môže volať a pracovať s nimi.
2. Prvá práca s Automatorom
Keď spustíte Automator, v prvom rade je potrebné zvoliť si, aký typ aplikácie chcete vytvoriť.
Na výber je 7 druhov. Vo všetkých si najprv naklikáte svoju aplikáciu a následne podľa typu využijete určeným spôsobom.
Napríklad "Service" vám umožní vytvoriť doplnkovú funkciu do ktorejkoľvek nainštalovanej aplikácie vo vašom systéme. "Folder action" zase funguje ako trigger a spustí sa pokiaľ sa zmení štruktúra zložky (pridanie, odstránenie súboru…). "iCal alarm" je klasické spúšťanie s naplánovaním na určený čas alebo dátum.
Na začiatok teda zvolíme "Workflow"
Prostredie je veľmi jednoduché. V ľavej časti sa nachádza knižnica, teda zoznam funkcií, ktoré môžeme volať. Každá funkcia v Automatore má svoj popis, ktorý sa zobrazuje v ľavej spodnej časti obrazovky. Podľa popisu zistíte, či tá konkrétna funkcia je vhodná pre použitie vo vašom programe. Samotné nastavenia v blokoch sú následne relatívne intuitívne. Vpravo je priestor, kam ukladáme bloky logicky za sebou. Na spodnej časti sa nachádza zoznam premenných.
Dnešný príklad nebude zložitý a bude slúžiť hlavne na predstavu toho, ako je možné v Automatore pracovať. Zároveň ale niektoré časti príkladu môžu byť užitočné pre bežného používateľa.
Na začiatok si vždy musíme určiť a rozpísať, čo chceme spraviť resp., čo chceme, aby program robil.
Od našej aplikácie teda požadujeme nasledovné kroky:
1. kópiu fotiek do nového adresára
2. premenovanie podľa definovaného kľúča
3. zmenšenie fotografií o 50%
Ako to dosiahneme?
V Automatore musíme nájsť také funkcie, ktoré dovoľujú či už komplexne alebo čiastkovo riešiť požadované kroky.
V mojej aplikácii využijem nasledovné funkcie:
- New folder: umožní vytvoriť novú zložku
- Set Value Of Variable - nastaví hodnotu premennej. Hodnota môže byť napríklad novovytvorená zložka.
- Get Specified Finder Items - slúži na výber súborov a zložiek
- Get Folder Contents - z vybraných zložiek vráti ďalšiemu bloku len samotné súbory. Nastavením môžeme dosiahnuť aj prehľadávanie podzložiek rekurzívne.
- Copy Finder Items - skopírovanie vybraných súborov do vybranej zložky.
- Make Finder Item Names Sequential - premenovanie zložiek na základe nastavenej masky.
- Scale Image - zmenšenie obrázku na určitú veľkosť (v percentách voči základu alebo v pixeloch).
3. Tvorba workflow
Najprv je vhodné, aby program vytvoril zložku, do ktorej vybrané fotografie prekopírujeme.
Vložíme teda blok s názvom "New folder" (funkcie je možné v Automatore vyhľadávať). V časti Options zaškrtneme "Show this action when the workflow runs", čo znamená, že sa používateľovi daný blok ukáže a bude môcť vyplniť názov súboru prípadne aj jeho umiestnenie počas behu aplikácie.
Túto informáciu si potrebujeme odložiť do premennej, aby sme s ňou neskôr mohli pracovať. Preto doplníme workflow o blok s názvom "Set Value of Variable". Ja som svoju premennú nazval "zlozka".
Ďalším krokom bude výber fotografií, resp. obrázkov. Na to potrebujeme blok s názvom "Get Specified Finder Items". Rovnako v časti options zaškrtneme, aby sa blok zobrazoval pri volaní a mohli tak požadované fotky vybrať. Keďže výber umožní vybrať aj zložku, je vhodné si situáciu ošetriť blokom "Get Folder Contents", ktorému zaškrtneme, aby rekurzívne prechádzal aj všetky podzložky.
Teraz nastáva hlavná súčasť programu. Prekopírovanie vybraných fotiek do novej zložky. Do workflow potiahneme blok s názvom "Copy Finder Items". Aby sa prekopírovali do nami vytvorenej zložky, je potrebné premennú myšou zo spodnej časti potiahnuť na dropdown list "To:".
Ďalším krokom je premenovanie. Použijeme blok "Rename Finder Items". Nastavím, aby sa súbory premenovali sekvenčne tak, aby maska názvu bola "fotka_cc.xxx", kde 'fotka' je pevný reťazec, 'cc' je číslo odsadené nulou zľava a 'xxx' je prípona súboru.
Tento krok je taktiež možné nastaviť pre zobrazenie a počas behu programu individuálne upravovať.
Posledná vec je zmenšenie fotiek. Na začiatku sme si zvolili, že ich chceme zmenšiť o 50%. Nájdeme a vložíme blok "Scale Images" (v prípade, že máte nainštalovaný iný grafický editor ako napríklad Photoshop alebo Pixelmator, ktoré umožňujú volať podobné funkcie z Automatora, je možné zvoliť aj tie ako alternatívu). Automator sa nás opýta, či k tomuto bloku chceme pridať aj blok na prekopírovanie. Zvolíme možnosť "Don't add". V bloku nastavíme, že chceme zmenšovať percentuálne a to na hodnotu 50.
Workflow je týmto dokončený a ostáva nám len otestovať ho. Spustenie vykonáme kliknutím na tlačidlo "Run" v pravej hornej časti Automatora. Ja som pri testovaní nechal vytvoriť zložku s názvom "test" a vybral som 4 fotky, ktoré som mal predtým v zložke BA_ZOO. Tu je výsledok:
Z obrázka je vidieť zložka "test" a 4 fotky premenované podľa vopred určenej masky. Vľavo je vidieť veľkosť obrázka 2000x1500 pixelov. Pôvodná veľkosť obrázkov je 4000x3000 pixelov.
Samotný workflow je možné teraz uložiť ako aplikáciu a používať ju ako bežný program bez nutnosti spúšťania aplikácie Automator.
4. Záver
Popísali sme si aplikáciu Automator a ukázali sme si, ako vytvoriť za pár minút jednoduchý workflow. Takýto workflow je možné ďalej zdokonaľovať, pridávať ďalšie bloky a funkcie, ktoré ho spravia ešte účinnejším. Je potrebné len správne využívať dostupné nástroje a funkcie.
V ďalších častiach sa už zameriam aj na AppleScript a prepojenie s Automatorom ako aj na riešenie niektorých zložitejších úloh.