Mastodon

Mój Alfred – pogoda

3
Dodane: 11 lat temu

Kontynuuję przewodnik po workflows, z których korzystam w Alfredzie. Dwa ostatnie dotyczyły gotowych przepisów, dlatego dziś wracam znów do własnego tworu.

Tym razem pokażę Wam mój workflow pokazujący prognozę pogody z wykorzystaniem serwisu meteo.pl oraz aktualny stan burz w Polsce na podstawie serwisu blitzortung.org.

Pogoda

Jak to działa?

  • Po wywołaniu Alfreda wpisuję słowo pogoda.
  • Do wyboru mam trzy opcje: pogoda krótkoterminowa, pogoda długoterminowa oraz burze.
  • Po wyborze któregoś z powyższych ukaże się okno (w stylu Quick Look) ukazujące żądany wynik.

A teraz trochę objaśnień.

Wejście

W odróżnieniu od wcześniej opisywanych przeze mnie workflows, tym razem do wejścia nie potrzebne są dodatkowe parametry, czyli nic więcej nie wpisujemy. Zamiast tego mamy trzy gotowe opcje. Jak to możliwe? Wszystko przez zastosowanie elementu Script Filter, w którym posłużyłem się następującym kodem XML:

cat<<EOB
<?xml version="1.0"?>
<items>
<item uid="krotka">
<arg>krotka</arg>
<title>Pogoda krótkoterminowa</title>
<subtitle>Wciśnij Enter, żeby podejrzeć</subtitle>
<icon>short.png</icon>
</item>
<item uid="dluga">
<arg>dluga</arg>
<title>Pogoda długoterminowa</title>
<subtitle>Wciśnij Enter, żeby podejrzeć</subtitle>
<icon>long.png</icon>
</item>
<item uid="burza">
<arg>burza</arg>
<title>burza</title>
<subtitle>Wciśnij Enter, żeby podejrzeć</subtitle>
<icon>blitz.png</icon>
</item>
</items>
EOB

W powyższym kodzie można wyodrębnić trzy sekcje oznaczone znacznikami <item> i w nich właśnie ustalone są dostępne opcje: Pogoda krótkoterminowa, Pogoda długoterminowa oraz burza. Każda z nich ma również własną ikonę, którą można dodać do katalogu danego workflow (aby dostać się do takiego katalogu należy w preferencjach Alfreda, w sekcji Workflows kliknąć prawym przyciskiem myszy dany workflow i wybrać Show in Finder). Po wybraniu danej opcji przekazywany dalej jest jeden z trzech argumentów: krotka, dlugaburza.

Akcja i wyjście

Wspomniany przed chwilą argument trafia do elementu Run Script, w którym wykonywany jest poniższy skrypt:

KROTKA="http://new.meteo.pl/um/php/meteorogram_id_um.php?ntype=0u&id=1879"

DLUGA="http://new.meteo.pl/php/meteorogram_id_coamps.php?ntype=2n&id=1879"

BURZA="http://images.blitzortung.org/Images/image_b_pl.png?t=22830450"

if [ {query} == "krotka" ]; then
    automator -i "$KROTKA" pogoda.workflow
elif [ {query} == "dluga" ]; then
    automator -i "$DLUGA" pogoda.workflow
elif [ {query} == "burza" ]; then
    automator -i "$BURZA" pogoda.workflow
fi

Co to wszystko oznacza?

  • KROTKA="http://new.meteo.pl/um/php/meteorogram_id_um.php?ntype=0u&id=1879", DLUGA="http://new.meteo.pl/php/meteorogram_id_coamps.php?ntype=2n&id=1879" – pod zmienne $KROTKA$DLUGA podstawiany jest adres URL odwołujący się do konkretnej strony prognozy w serwisie meteo.pl. Aby wygenerować własny należy:
    • w przypadku prognozy krótkoterminowej – przejść na stronę www.meteo.pl/um/php/gpp/search.php, wskazać swoją miejscowość, a potem skopiować adres z okna przeglądarki;
    • w przypadku prognozy długoterminowej – przejść na stronę www.meteo.pl/php/gpp/search.php, wskazać swoją miejscowość i również skopiować adres z okna przeglądarki.
  • BURZA="http://images.blitzortung.org/Images/image_b_pl.png?t=22830450" – jest to odnośnik URL do obrazka generowanego automatycznie co minutę, zawierającego mapę burzową Polski.
  • if … fi – wykonywane jest polecenie jeśli coś, to coś w zależności od przekazanego argumentu.
  • automator -i "$DLUGA" pogoda.workflow – w tym momencie wywoływany jest utworzony w systemowej aplikacji Automator specjalny workflow, który otrzymuje któryś z trzech adresów URL.

Opisana akcja jest jednocześnie wyjściem, ponieważ cały workflow nie posiada dodatkowego elementu wyjściowego. Tutaj jego rolę spełnia wspomniany plik z Automatora, który wygląda następująco:

Otrzymuje on odpowiedni adres URL, który następnie jest otwierany w specjalnym oknie. To ostatnie możemy skonfigurować zarówno jeśli chodzi o jego rozmiary, pozycję oraz klienta użytkownika.


A tak wyglądają trzy kolejne wyniki dla workflow pogoda:

Pogoda krótkoterminowa

Pogoda długo terminowa

Burza

Nazwa: Pogoda
Pobieranie: link

Wszystkie artykuły z serii Mój Alfred
możecie znaleźć pod tym linkiem.

Maciej Skrzypczak

Użytkownik sprzętu z nadgryzionym jabłkiem, grafik komputerowy, Redaktor iMagazine.pl. Mastodon: mcskrzypczak@c.im

Zapraszamy do dalszej dyskusji na Mastodonie lub Twitterze .

Komentarze: 3