Portál AbcLinuxu, 1. května 2025 19:29
Je tomu už nějaký ten rok, kdy jsem krátkodobě podlehl J2ME mánii a rozepsal (ne nutně dopsal) pár prográmků a her pro svůj mobilní telefon, dnes již obstarožní Siemens C55. Světlo světla tak spatřil remake ruské automatové klasiky Kuchař ("žonglování" s produkty závodní jídelny) a o trochu méně známý Juggler (vizuálně chudé žonglování se třemi míčky).
Už si ani nepamatuji, kdy naposled jsem některý z těchto programů spustil. Až na jednu výjimku, kterou je program na vyhledávání dopravních spojení prostřednictvím serveru idos.cz. Myšlenka byla vcelku jednoduchá a naprosto neoriginální. Napsat do mobilu aplikaci, jež se bude připojovat (přes GPRS, ne dražší WAP) na Idos a jeho prostřednictvím vyhledávat dopravní spojení v ČR a v MHD v Brně. Abych toho v Javě programoval co nejméně (postupně se mi začala protivit) a zredukoval datové přenosy, napsal jsem jako prostředníka cgi skript v Pythonu, který prováděl ono dotazování prostřednictvím webového formuláře Idosu a zpátky posílal už jen vyparsované výsledky. Ty se přímo předhodily mobilnímu telefonu.
Celé ty roky tento program využivali jen dva lidé. Já a jeden můj kamarád, kterého jsem však už delší dobu neviděl. Vím, že o něco později vznikl minimálně ještě jeden podobný (a co se týče možností bohatší) program (na jméno si již nevzpomenu), ale ten odmítal v mé C55 fungovat a proto jsem zůstal u toho mého. Koneckonců fungoval, co víc bych si přál.
Nedávno se ve mně probudily nostalgické vzpomínky a já se rozhodl onen skript přepsat. Původním cílem bylo namísto dvou skriptů (jeden pro dopravní spojení v ČR a druhý pro MHD v Brně) mít skript jeden, použitelný přímo v CLI. Druhým pak umožnit vyhledávání i v MHD jiných měst (přece jen jednou za čas i někam vyjedu). Tak se i stalo a výsledkem je skript (samozřejmě v Pythonu) pro hledání dopravních spojení v CLI. Dále bylo nutné přepsat (raději kompletně, avšak stále v MIDP 1.0, aby ji dědeček telefon zvládl) aplikaci do mobilu tak, aby vhodně využívala toto nové rozhraní a to dostatečně univerzálně, konkrétně aby případné přidání možnosti vyhledávat v MHD "nového" města nevyžadovalo úpravu aplikace v mobilu. Včera se zadařilo dokončit i toto a já si zas můžu uživat pocitu z nového a (doufám že i) fungujícího programu. Ne, že by uměl něco více, než ten předchozí (který stále funguje), ale potřebě začít znovu na čistém stole bylo učiněno zadost.
Uvažoval jsem nad tím, zda by můj skript/aplikace nebyl užitečný i pro ostatní. Jenže možná už tu podobná (a lepší) aplikace existuje a navíc je můj styl programování i přes ty uplynulé roky stále ještě "prasečí". Proto bych Vás rád požádal, abyste v diskuzi vyjádřili svůj názor a případně uvedli i název (web) podobného programu, pokud takový znáte.
Na závěr jen ukázka fungování skriptu v CLI:
$ ./spoje.py Program hleda dopravni spoje prostrednictvim serveru idos.cz Pouziti: spoje.py [argumenty] typ_spoje odkud[:kod] kam[:kod] Argumenty: typ_spoje jedna z nasledujicich moznosti: vlak - vlakova spojeni v CR bus - autobusove spoje v CR komb - kombinace autobusovych a vlakovych spoju v CR Brno - MHD v Brne (vcetne IDS JMK) Praha - MHD v Praze kod retezec identifikujici misto v pripade nejednoznacneho zadani -c cas odjezdu (defaultni hodnotou je aktualni cas) -d datum odjezdu (defaultni hodnotou je aktualni datum) -p maximalni pocet prestupu (defaultni hodnota 3) -s pocet hledanych spoju (defaultni hodnota 5) -b batch mode - nepta se na chybejici data $ ./spoje.py brno novolisenska cervinkova ---------- Datum: 8.7. * 9:46 Novolíšeňská, 101, tramvaj 8 9:56 10:00 Masná, 100, tramvaj 13 10:21 * Červinkova, 101 35 min, 11 km, Základní 15 Kč ---------- Datum: 8.7. * 9:52 Novolíšeňská, 101, tramvaj 8 10:06 10:10 Hlavní nádraží, 100, tramvaj 12 10:27 * Červinkova, 101 35 min, 11 km, Základní 15 Kč ---------- Datum: 8.7. * 9:58 Novolíšeňská, 101, tramvaj 8 10:08 10:12 Masná, 100, tramvaj 13 10:33 * Červinkova, 101 35 min, 11 km, Základní 15 Kč ---------- Datum: 8.7. * 10:04 Novolíšeňská, 101, tramvaj 8 10:18 10:22 Hlavní nádraží, 100, tramvaj 12 10:39 * Červinkova, 101 35 min, 11 km, Základní 15 Kč ---------- Datum: 8.7. * 10:10 Novolíšeňská, 101, tramvaj 8 10:20 10:24 Masná, 100, tramvaj 13 10:45 * Červinkova, 101 35 min, 11 km, Základní 15 Kč $ # aby bylo videt, ze my brnaci proti prazakum nic nemame$ ./spoje.py -s 2 praha albertov babice Upřesněte výběr 1) Babice 2) Babice,Babičky Vaše volba: 1 ---------- Datum: 8.7. * 10:07 Albertov, tramvaj 24 10:14 * Nádraží Vršovice, přesun asi 5 min * 10:20 Praha-Vršovice, , vlak Os 9123 10:34 * Praha-Uhříněves, B, přesun asi 2 min * 10:53 Nádraží Uhříněves, B, autobus 364 11:16 * Babice, 2 1 hod 9 min, 26 km, 38,- Kč ---------- Datum: 8.7. * 11:07 Albertov, tramvaj 24 11:14 * Nádraží Vršovice, přesun asi 5 min * 11:20 Praha-Vršovice, , vlak Os 9125 11:41 * Říčany, 1, přesun asi 2 min * 11:48 Říčany,Pod nádražím, 1, autobus 497 12:08 * Babice, 2 1 hod 1 min, 30 km, 38,- Kč
Tiskni
Sdílej:
!mhd praha*nadrazi holesovice*flora
. Jinak ke všem funkcím je nápověda, takže stačí zadat help !příkaz
a člověk se dozví všechno potřebné.
grr.ics.muni.cz
. Ale ono je to stejne jedno, protoze uz to tam davno neni.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.