Magnatune.com Daily Download Workflow

O cho­lera, ale wymy­śli­łem tytuł… No nic, może ktoś doj­dzie o co w tym cho­dzi. Ja opi­szę może dwa pro­blemy, które kazały mi dziś siąść do mojego mini i pokom­bi­no­wać nieco i być może to nieco roz­ja­śni sprawę.

  • Pierwszy pro­blem to fajne feature, jakie ofe­ruje ser­wis Magnatune.com — można sobie otóż co dzień wziąć i zassać z ich stron jeden dar­mowy kawa­łek. Co dzień inny. Czasem to jakieś pie­nia etniczne, cza­sem jakieś wysiłki kwar­tetu smycz­ko­wego, cza­sem ambien­towy odjazd lub roc­kowy kop. Anyway — zazwy­czaj warto i tak zoba­czyć co to. Ja tam lubię, dzięki tym prew­kom kupi­łem tam już kilka albu­mów i bar­dzo je sobie chwalę. Jako się rze­kło — co dzień kawa­łek do wzię­cia nowy się poja­wia. A to trzeba zassać. Co dzień. Z tego samego miej­sca. Plik o takiej samej nazwie… To trzeba było zautomatyzować!

  • Drugi pro­blem spra­wił mi MacOSX. Śro­do­wi­sko jak naj­bar­dziej unik­sowe, z cro­nem na pokła­dzie i do wyko­ny­wa­nia zadań powta­rzal­nych stwo­rzone, jak każde inne śro­do­wi­sko unik­sowe. No tak ale to wymaga nieco wię­cej wie­dzy niż klik­nię­cie ikonki i pousta­wia­nie sobie czego tam się chce. To trzeba było opanować!

Dwa pro­blemy, z któ­rych ten zwią­zany z cro­nem wyda­wał mi się trud­niej­szy do roz­wi­kła­nia. Ale prze­cież papa CoSTa aż tak głupi nie jest i jakoś sobie pora­dził :). A jak? A tak:

Najpierw odpa­li­łem many wsze­la­kie i inne helpy. Tu star­łem się z twardą jabł­kową rze­czy­wi­sto­ścią: doku­men­ta­cja i owszem jest ale jakoś cho­lera szpe­ra­nie za goto­wymi roz­wią­za­niami mi się nie uda­wało. W czym rzecz: zachciało mi się zaprząc crona do uru­cha­mia­nia codzien­nego jakie­goś skryptu, który by mi te kawałki z Magnatunes.com ssał. No i tu sta­ną­łem przed zada­niem z gatunku „mno­że­nie pro­ble­mów ad absur­dum”. Z lek­tury wyni­kało mi, że czas by się jakie­goś AppleScripta nauczyć, może jakieś fajne kon­so­lowe pole­ce­nia wkuć i w ogóle zabrać się za sys­tem od samego jego jądra.

Coś mi tu nie paso­wało. Coś było nie tak. Ten spo­sób był do rzyci i kom­plet­nie nie Mac way.

Aż dotarło do mnie, że zabie­ram się do pro­blemu od dupy strony. Co mnie inte­re­sują jakieś crony czy inne takie? W sys­te­mie musi być coś, co sobie działa, jest łatwe w obsłu­dze i ma moż­li­wość przy­po­mi­na­nia się co jakiś czas z jakimś zada­nie do zro­bie­nia. Oczywiście! iCal! Teraz trzeba było tylko jakoś spiąć iCala, który odpala ład­nego demonka łażą­cego w tle i wywo­łu­ją­cego np. przy­po­mnie­nia usta­wione w kalen­da­rzu. Po odpa­le­niu iCala roz­wią­za­nie poja­wiło się samo. Chłopaki z Apple uła­twili to tak, że bar­dziej nie można. Trzeba było tylko nie kom­bi­no­wać a zro­bić rzecz naj­oczy­wist­szą pod Słońcem: usta­wić codzienne zada­nie, które wywoła…

BINGO! Zadanko będzie wywo­ły­wało Workflow (tak się nazy­wają akcje zde­fi­nio­wane w Automatorze) pobie­ra­nia muzy z Magnatune.com.

Co to jest Automator? To takie boskie narzę­dzie OSX, dzięki któ­remu życie jest łatwiej­sze a powta­rzalne czyn­no­ści moż­liwe do zauto­ma­ty­zo­wa­nia i uprosz­cze­nia. Po pro­stu two­rzy się tzw. Workflow, w któ­rym można sobie np. usta­lić, że jot­pegi z jakie­goś kata­logu mają być zmniej­szone do takich a sia­kich roz­mia­rów, wrzu­cone do pliku PDF w czte­rech kolum­nach i rzę­dach ile tam wyj­dzie w zależ­no­ści od ilo­ści fotek. A całość ma być zapi­sana do pliku, skom­pre­so­wana i wysłana mailem na dany adres. Zaczynacie dostrze­gać moc tego narzę­dzia? No to powiem tylko, że jest ona znacz­nie, znacz­nie więk­sza. Automator pozwala takie zada­nia zapi­sy­wać jako zwy­kłe apli­ka­cje sys­temu Mac OSX. Skutek? Od dłuż­szego czasu bac­ku­pami zaj­muje się wła­śnie Workflow Automatora odpa­lany jako apli­ka­cja przy logo­wa­niu. Rsyncuję co trzeba i dzię­kuję, bac­kupy robią się same przy każ­dym logo­wa­niu i bez cze­goś łażą­cego w tle. Jest wszakże jesz­cze lepiej — Automator pozwala zapi­sy­wać takie akcje jako plu­giny do sys­te­mo­wych apli­ka­cji. Taką opcję wyko­rzy­sta­łem przy roz­wią­za­niu tego pro­blemu — cały Workflow zapi­sa­łem jako plu­gin pro­gramu iCal i natych­miast stał się on dostępny w tym pro­gra­mie oraz gotowy do wykorzystania.

Skutek: w iCal zro­bi­łem sobie zada­nie wywo­ły­wane codzien­nie, które (dzięki Workflow zapi­sa­nemu w plu­gi­nie) zasysa kawa­łek ze strony Magnatune.com i wrzuca dra­nia do odpo­wied­niego kata­logu. Proste i ele­ganc­kie wyj­ście, bez kom­bi­no­wa­nia z jaki­miś cro­nami czy czym tam innym. O takich rze­czach ma myśleć sys­tem, nie ja. Ja mam usta­wiać (łatwo), co ten sys­tem ma robić.

Na poniż­szych scre­enach krok po kroku poka­zuję co i jak wygląda (są duże by wszystko było jasne). Workflow można sobie wykli­kać samemu lub pobrać (plik zip, 4kb). Być może ktoś jesz­cze będzie miał chętkę na dar­mowe utworki pobie­rane codzien­nie. Zakładam, że toto można mocno popra­wić a spo­sób przed­sta­wiony jest jed­nym z kilku na pewno moż­li­wych roz­wią­zań opi­sa­nego pro­blemu. Z chę­cią nieco wie­dzy od jakie­goś maków­ka­rza obe­zna­nego w tema­cie łyknę. Póki co toto działa i spra­wuje się świetnie.

W Automatorze można sobie wykli­kać taki Workflow — wszystko jest na scre­enie, eks­pe­ry­men­to­wa­nie jed­nak zawsze wskazane :)
Wyklikany Workflow zapi­su­jemy jako wtyczkę (plug-in) do… iCala. A tak, ma to zna­cze­nie bo po pro­stu w tym pro­gra­mie nasz Workflow wykorzystamy.
O, takie coś wybie­ramy z menu zapisu wtyczki (plug-in). Workflow będzie teraz dostępny dla iCala jako wtyczka tegoż pro­gramu. Eleganckie rozwiązanie.
W pro­gra­mie iCal usta­wiamy sobie taska powta­rzal­nego codzien­nie (codzien­nie będzie to zada­nie wywo­ły­wane w tle, nawet przy nie­pra­cu­ją­cym iCalu) i po pro­stu wybie­ramy naszą wtyczkę, jako zada­nie. Tyle. Problem solved :)

Kilka słów o CoSTa

Mąż, ojciec i w przyszłosci być może właściciel knajpy, w której będzie serwowana tylko wódka, tylko zimna i tylko na butelki.

Socjal

Jeszcze Ci mało? Śledź nas w sieciach społecznościowych...

4 Komentarzy do “Magnatune.com Daily Download Workflow”

  1. byte 30/09/2007 do 19:20 # Odpowiedz

    Automator fajny jest, dobrze zro­biony język skryp­towy dla pani Krysi z księgowości.

    iCal zapewne opiera się na cro­nie wła­śnie i to jemu zleca wywo­ły­wa­nie tych wtyczek.

    Apple jedno trzeba przy­znać: wzięli sys­tem unik­sowy i nie pró­bo­wali zro­bić z niego Windows. Automator to zapewne zestaw iluś tam skryp­tów dla basha, które można dowol­nie łączyć z poziomu GUI.

    PS Powstawiało mi w pola for­mu­la­rza dane Walthariusa. WTF?

    • CoSTa 30/09/2007 do 20:26 # Odpowiedz

      Ano, jest fajny, z tym że to nie język skryp­towy a narzę­dzie do kle­je­nia skryp­tów w jakieś sen­sowne cało­ści. Od skryp­tów jest AppleScript i ponoć też nie­zbyt zło­żony. Nie wiem, jesz­cze z nim nie wal­czy­łem. Niemniej im m wię­cej Automatora uży­wam, tym bar­dziej się do tego prze­ko­nuję. Miłe jest to, że takich auto­ma­to­ro­wych skryp­tów do wyko­rzy­sta­nia mogą sami dewe­lo­pe­rzy robiący jakieś tam apli­ka­cje naro­bić sobie wedle wła­snego widzi­mi­się. No i bar­dzo pro­sto można sobie wykli­kać nawet cał­kiem skom­pli­ko­wane akcje. Naprawdę fajne, do Ubuntu jak zna­lazł :). Kupę codzien­nych zadań można takim Automatorem zała­twić. Ot choćby w tym Workflow nie zamie­ści­łem dal­szej czę­ści tasku — wcią­gnię­cia roz­kom­pre­so­wa­nego kawałka do iTu­nes na odpo­wied­nią play­li­stę. No ale to można już sobie samemu wykli­kać jeśli komuś się będzie chciało :)

      Fajne narzę­dzie, sporo uła­twia i przyspiesza.

      Co do iCala — przy logo­wa­niu odpa­lany jest taki pseu­do­de­mo­nik — pro­ces o nazwie iCa­lA­larm­Sche­du­ler. To on zdaje się odpala te wszyst­kie zda­rze­nia i komen­de­ruje ich wyko­na­niem. Cron tu nie­zbyt wiele ma do powie­dze­nia zdaje się. Tu od razu widać nie­do­sko­na­łość skryptu — trzeba być zalo­go­wa­nym by to dzia­łało. Mnie to aku­rat ryba bo jeśli nie jestem zalo­go­wany to po pro­stu komp nie cho­dzi (kobity swoje konta odwie­dzają korz­sta­jąc z prze­łą­cza­nia use­rów, co funk­cjo­nuje tu bar­dzo dobrze). Gdybym to chciał zro­bić bar­dziej nie­za­leżne od logo­wa­nia — wtedy chyba musiał­bym wal­czyć z cro­nem. Rozwiązanie takie jak teraz mi zupeł­nie wystar­czy ale sam jestem cie­kaw, jak wyglą­da­łaby walka z cro­nem wła­śnie. No tam już od nakle­pa­nia cze­goś w kon­soli chyba bym nie uciekł :)

      Tak, Automator to kupa skryp­tów, nad któ­rymi można jakoś zapa­no­wać via GUI. Kiedy otwo­rzysz sobie jakie­goś scre­ena z Automatorem to zoba­czysz jak tam prze­ka­zy­wane są para­me­try ze skryptu do skryptu. Proste i dosyć intu­icyjne wizu­ali­zo­wa­nie pipeline.

      Co do for­mu­la­rzy — chło­paki uży­wają na chlo­rze cze­goś, co się zwie [url=http://varnish.projects.linpro.no/]varnish[/url]. Problem w tym, że to dzia­do­stwo powo­duje sporo pro­ble­mów a oni się uparli, że z tego będą korzy­stać. No nic, kolejny pro­blem do zgło­sze­nia. Dzięki za info.

  2. Krzysztof Klimonda (Cthulhu) 23/10/2007 do 20:49 # Odpowiedz

    Ech, jog­ger jak zwy­kle w przy­ja­zny spo­sób dał do zro­zu­mie­nia, że coś zro­bi­łem źle i nie wysłał track­backa.. Oczywiście uznano, że trzeba dodać zabez­pie­cze­nie anty­spa­mowe o któ­rym nie wie­dzia­łem.. i teraz chyba zupeł­nie track­backa nie wysłał..

    Tak więc tylko nad­mie­niam, że popra­wi­łem two­jego work­flowa tak by ścią­gnięte pliki doda­wał do iTu­nes, tago­wał a potem kaso­wał pozo­sta­ło­ści.. wszystko tutaj:

    [url=http://cthulhu.jogger.pl/2007/10/23/workflowing-magnatune-daily/]Workflowing Magnatune Daily[/url]

    • CoSTa 24/10/2007 do 09:06 # Odpowiedz

      O, bar­dzo fajne! Dzięki ogromne za info i sorry za brak track­bac­ków. Wyłączyłem bo obcią­żało to ser­wer a spamu do wery­fi­ka­cji było co nie­miara. Tyle że jesz­cze z sza­blonu nie wywa­li­łem z lenistwa :)

      Kurczę, musi być jakiś prost­szy spo­sób na roz­kom­pre­so­wa­nie archi­wum, wzię­cie zawar­to­ści i prze­sła­nie jej do dal­szej obróbki. Muszę przy­siąść do AppleScriptu bo to jed­nak chyba nie jest aż tak trudne a moż­li­wo­ści zabawy byłby więk­sze znacznie.

      Dzięki za przy­wo­ła­nie do tablicy, będę musiał się tym zająć nieco poważ­niej i przede wszyst­kim prze­ana­li­zo­wać, co żeś tam poczarował :)

Dodaj komentarz