Jednoduchá náhrada za idsjmk.cz
Nedávno „modernizovali“ web jihomoravského dopravního systému, který byl mj. autoritativním vyhledávačem dopravních spojů v rámci tohoto systému. „Modernizace“ bohužel čím dál častěji znamená nahrazování funkčních webů weby javascriptovými. Stále nechápu, v čem tkví ty údajné výhody, když člověku, který si zabezpečuje prohlížeč NoScriptem, absolutně nefunguje. Ale! Nový web idsjmk.cz nyní poskytuje JSON API!
A co jiného byste chtěli dělat, než toho využít. :·D Velice rychle a velice jednoduše jsem si spíchl malý Ruby skript, kterému stačí dva vstupní údaje: odkud a kam chci jet. Volitelně pak kdy.
A skript během vteřinky doručí dostupné spoje. Každý řádek říká: kolik minut bude cesta trvat a seznam linek, kterými je třeba jet – každá přitom nese informaci o svém číslu, zda pojede nízkopodlažní dopravní prostředek, odkud v kolik a kam v kolik jede.
API poskytuje ještě nějaké další informace, ale toto je přesně to, co mě zajímá.
$ idsjmk Česká "Dolní nádraží"
2020-07-24T13:43:43.278+02:00
18m; 12: 13:47 Česká -> 13:54 Hlavní nádraží | 61N: 13:58 Hlavní nádraží -> 14:05 Dolní nádraží
18m; 12N: 14:02 Česká -> 14:09 Hlavní nádraží | 61N: 14:13 Hlavní nádraží -> 14:20 Dolní nádraží
18m; 12N: 14:17 Česká -> 14:24 Hlavní nádraží | 61N: 14:28 Hlavní nádraží -> 14:35 Dolní nádraží
18m; 12N: 14:32 Česká -> 14:39 Hlavní nádraží | 61N: 14:43 Hlavní nádraží -> 14:50 Dolní nádraží
18m; 12: 14:47 Česká -> 14:54 Hlavní nádraží | 61N: 14:58 Hlavní nádraží -> 15:05 Dolní nádraží
18m; 12: 15:02 Česká -> 15:09 Hlavní nádraží | 61N: 15:13 Hlavní nádraží -> 15:20 Dolní nádraží
18m; 12: 15:17 Česká -> 15:24 Hlavní nádraží | 61N: 15:28 Hlavní nádraží -> 15:35 Dolní nádraží
25m; 3N: 15:19 Česká -> 15:29 Kuldova | R9: 15:39 Brno-Židenice -> 15:44 Brno-dolní nádraží
18m; 12N: 15:32 Česká -> 15:39 Hlavní nádraží | 61N: 15:43 Hlavní nádraží -> 15:50 Dolní nádraží
18m; 12N: 15:47 Česká -> 15:54 Hlavní nádraží | 61N: 15:58 Hlavní nádraží -> 16:05 Dolní nádraží
Instalace
Můj projektík žije mezi mými repozitáři. Pokud nemáte svůj systém pro organizaci stahovaných programů, můžete to zkusit takto (potřebujete nainstalovaný git a ruby):
# pokud nemáte nainstalovaný bundler (na některých systémech může být potřeba volat se sudo), pak:
gem install bundler
mkdir ~/.local/bin ~/.local/software
cd ~/.local/software/
git clone https://code.semirocket.science/idsjmk.rb
cd idsjmk.rb/
bundle install
cd ../bin/
ln -s ~/.local/software/idsjmk.rb/idsjmk.rb idsjmk
echo "export PATH=$PATH:~/.local/bin" >> ~/.bashrc
# (pokud máte jiný shell než bash, patřičně poslední příkaz upravte)
Prográmek je svobodný software, takže ho používejte, upravujte, šiřte zcela dle libosti v souladu s MIT licencí. ;·)
Zaškatulkováno v kategorii: Projekty | 24. července 2020