Pokud jezdíte autobusy SA častěji, určitě se vám stalo, že jste narazili večer na plný ranní autobus. V takových chvílích je možné, že se budou místa ještě hýbat, a mačkat neustále f5 na stránce s mapou míst taky není uplně ono. Měl jsem dlouho ideu naprogramování drobné pomůcky, která by se o toto hlídání postarala. A idea se konečně dočkala zpracování – a taky mnohých vylepšení – současná verze 1.7.1 funguje s novým rezervačním systémem a kontroluje zastávky na vnitrozemských linkách.
Impulzem k započetí práce bylo objevení JayBeeho Automatické detekce volného místa v autobusech student agency na lince Liberec – Praha, která je napsaná v PHP a uživatelé windows si s ní dvakrát moc srandy neužijí. Já se rozhodl pro C# a .NET framework – v obojím jsem předtím nikdy nic nepsal, ale o Cis (sic!) všichni básní, a tak jsem si řekl, proč to nezkusit. Výsledkem je prográmek „SA Notify“, který běží schovaný v trayi a co 90 vteřin kontroluje stavy volných sedadel zadaných spojů.

Během vývoje bylo několikrát přepracováno přidávání spojů – původně jako číselné ID spoje, pak kombinací linky, data a času. V poslední verzi přibyl ještě výběr počáteční a konečné zastávky.

Po „naklikání“ žádaných spojů už stačí jen program minimalizovat do lišty a v případě volných sedadel vyskočí bublina a zazní tón.

Celé SANotify funguje vcelku úspěšně i pod Linuxem na MONO; Je sice
hnusné jako noc a zastávky mají špatně české znaky, protože
StreamReader v MONO neumí kódování ale
zbytek je po zběžném prozkoumání funkční.iso-8859-2,
Bugreport a feature request je nadále vítán.
Licence je součástí balíku, ke spuštění aplikace je potřeba .NET framework 2.0, případně MONO pod Linuxem.
V příští major verzi se budu snažit přidělat možnost kontroly konkrétního sedadla nebo sedadla s určitou vlastností (sudá, lichá, červená, černá – taková sedadlová ruleta). To ale bude další chvíli trvat, tak stay tuned a díky za zájem :)
RSS feed komentářů k tomuto článku
taky dekuju! uz to sosam, pripadne chyby hrde ohlasim:) ..fakt uzitecnej napad :D …s dovolenim nalinkuju clanek i na jine stranky.)
Tak přichází čas uživatelského hodnocení! ;)
Toť zhruba vše, více poznámek mám k dalšímu vývoji:
Díky za připomínky:
Paráda a jsem bez práce ;)
Budu to používat, když nebudu zrovna u svého počítače.
Díky.
(Bohužel mi to momentálně nějak nefunguje. Ve funkci SANotify.Ride.getFreeSeatsCount to padne při převodu na číslo. Nejspíš proto, že jde o posilový spoj.)
#6 - Jay Bee Díky za info, nevím, jak se to mohlo stát, ale prohodila se mi trojka za čtyřku :) Zároveň jsem opravil prohozený směry Praha-Liberec a obráceně. Ke stažení je verze 1.1.
Porográmek je prima..neplánuješ rozšíření na další linky např. Jihlava-Praha?
Povedené, aplikace bez problému běží i v linuxu na MONO :)
Jediná drobnost, kterou bych přidal, je možnost najednou vybrat více časů
a přidat tedy více spojů najednou.
Cau, paradni programek, ktery navic (jak pise jiz Oskar) jede dobre i na linuxu pres ‚mono‘. Akorat bych poprosil, pokud bude dalsi aktualizace, o pridani linky Zlin-Praha, jestli je to teda technicky mozne :) Diky!
Bezvadná věcička :)
Bylo by možné tam dohodit i spoje Jihlava-Brno-Jihlava?
#11 - Wik Jakmile se na Slunečnici objeví verze 1.3, bude v ní linka Brno-Jihlava, Praha-Zlín a jde vybrat více časů najednou (klasicky tažením nebo se stisknutým Controlem).
Díky za přízeň :)
Soubor tam je, ale ještě se čeká, až ho jejich administrátoři schválí. Původně jsem tam omylem nahrál špatný.
vypadá to na skvělý program. jak náročné by bylo programu umožnit hlídání libovolné linky? myslím tím různá města. pokud příliš, tak prosím o ruční přidání linky čk-čb-písek-praha
Ahoj, u verze 1.3 je v MONO problém, že i po vybrání času se objeví okno: Musíte vybrat čas jízdy. Mohl bys to nějak zkusit spravit, nebo aspoň někam vystavit verzi 1.2, která fungovala?
Dík Oskar
Diky za Zlin-Praha :) Ale nebylo by od veci to, co pise azag. Dva rozbalovaci seznamy, tak jak je to na SA po zvoleni linky: Zlin->UH, Zlin->Brno, Zlin->Pha atd. Protoze tam ted mnoho spoju docela chybi. Nevim jak slozita by pak byla funkce na zjisteni jakou trasu vlastne uzivatel zadal a zda-li by to vubec slo, ale napad to neni zly :)
Jinak bych tedy prosil jeste o Zlin-Brno (to tezke snad nebude ;) a v MONO vyzkousim Oskaruv bug.
No – u kontrolování libovolné linky je problém s tím, že jak parsuju data z HTML, tak nastaveným regexem neprojde všechno – třeba Pha – KV . Jinak je to docela jednoduchý (když vím ID linek), ale musel by se nastavit pro každou linku regex, který ji zvládne rozparsovat. A na to jsem líný :)
Trochu jednodušší je situace u zastávek na lince, kterou parsovat umím. To bude ale znamenat změnu architektury a do toho se mi zatím taky nechce, tak snad až budu mít někdy časem náladu.
#18 - Oskar verze 1.2 je na http://files.finwe.info/…tify-1.2.zip
Zdravím!
Skvelý program, chcem sa však opýtať, či by bolo možné pridať aj spoje
ktoré idú na Slovensko. Takže trasu Praha – Košice, Košice – Praha.
Alebo aspoň pridať manuálne zadávanie id na kontrolu.
tak po nějakém používání mám jeden bug. pokud nastanou nějaké problémy s připojením (úplně nedostupné nebo pomalé), program spadne. log chyby je na http://azag.c/log.txt
#23 - azag tak výpis chyby nebude, když jsem jí procházel, tak jsem zjistil, že to vůbec není výpis chyby, ale jenom výpis verzí…
#24 - azag Pravda, na ošetření nedostatečného připojení jsem se zatím (částečně vědomě) vybzdil. Píšu si do případné další verze.
Jiste dobre… ale chybi tam Pro me dulezite Praha – Pisek, Ceske Budejovice, Cesky Krumlov :-D – je mozne, ze nastane v blizke dobe najaka zmena? :-)
#26 - Lukas Ale jistě, je tam, není to z Praha-ČB-ČK dost zřetelné? ;)
„Vydal“ jsem verzi 1.6 – upravuje parsování linky Praha-Liberec, kde dneska SA weboví soudruzi upravili zpětně nekompatibilně HTML (díky Kačí za upozornění).
Taky by měla lépe ošetřovat nedostupnost webu SA – ať už na straně serveru, nebo připojení klienta.
A dál je ještě fixnutý jeden dorobný bug, který umožnil výběr času bez vybrání zastávek, což samozřejmě vedlo k výjimce.
Na slunečnici se postupem času asi vykašlu, jejich systém schvalování je neskutečně zdlouhavý a nahrávání souborů nespolehlivé.
Cus, programek vypada skvele jenom mi nevyskujou bubliny s upozornenim. Kdyz nastavuju spoj volna misto vidim, ale nic me neupozornini kdyz se neco uvolni, Nemuzu to mit vypnute nekde ve woknech? Dik za radu …
Cau Finwe, to vybirani linek je luxusni :o) Moc diky! Jenom ocividne mam asi podobnou chybicku jako Lejci. Kdy si SANotify minmalizuji vedle hodin, kliknu pravym a dam ‚Zjistit volna sedadla‘, tak sice podle FW program komunikuje, ale uz nezobrazi vysledek :) Jinak pri vybirani datumu/casu jizdy volna mista videt jsou. Mam WinXP Prof x64, jestli to nejak pomuze :)
Ahoj, mam problem pod linuxem ubuntu s verzi 1.6.2. Mono mi bohuzel nepomaha. Mate ten samy problem?
#33 - Charlie Co kdybys třeba napsal, jaký problém? 1.6.2 mi v Ubuntu (Hardy) šlape bez problémů.
#34 - Finwe
mono SANotify.exe
** (SANotify.exe:16402): WARNING **: The following assembly referenced from
/home/charlie/Plocha/SANotify.exe could not be loaded:
Assembly: System.Windows.Forms (assemblyref_index=0)
Version: 2.0.0.0
Public Key: b77a5c561934e089
The assembly was not found in the Global Assembly Cache, a path listed in the
MONO_PATH environment variable, or in the location of the executing assembly
(/home/charlie/Plocha/).
** (SANotify.exe:16402): WARNING **: Could not load file or assembly ‚System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089‘ or one of its dependencies.
** (SANotify.exe:16402): WARNING **: Missing method EnableVisualStyles in assembly /home/charlie/Plocha/SANotify.exe, type System.Windows.Forms.Application
Unhandled Exception: System.IO.FileNotFoundException: Could not load file
or assembly ‚System.Windows.Forms, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089‘ or one of its dependencies.
File name: ‚System.Windows.Forms, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089‘
#35 - Charlie Doinstaluj balík libmono-winforms2.0-cil, to by mělo
„problém“ vyřešit.
Diky moc za vyreseni problemu. Bylo to tim. Jinak prosim, dej na sve stranky
odkaz take na verzi 1.6.2 v archivu na http://files.finwe.info/sanotify
sice je, ale odkaz ke stazeni nikde bohuzel neni.
Diky moc
No – je v komentářích, ale ok, upravím i článek. A pokusím se upravit i odkaz na Slunečnici.
Ahoj, výborný prográmek. Rád jsem ho vždy používal, ale bohužel od půlky prosince s ním mám problém. Asi do půlky prosince na jedné z předešlích verzí mi šlapal v pohodě.. Ale od té doby na nových verzích se mi ho nepodařilo rozchodit. Prorámek se sice tváří, jako když je všechno ok, ale ještě se mi z něj nepodařilo vymámit žádný výsledek..;) Zkrátka nevyskočí hláška o nových sedadlech. A není to jen můj problém, stejným způsobem se to nepodařilo rozběhat ani jednomu z mích kamarádů. Tak nevím čím to… Jinak pro informaci sleduju trasu Jihlava-Brno a zpět.. Tak kdyby jsi měl nějaký nápad, jak mi pomoct, byl bych rád.. měj se krásně..;)
#39 - Filda Přečti pár posledních komentářů, stahni si verzi 1.6.2 a pak kdyžtak napiš znova ;)
Ahoj, výborný prográmek. Rád jsem ho vždy používal, ale bohužel od půlky prosince s ním mám problém. Asi do půlky prosince na jedné z předešlích verzí mi šlapal v pohodě.. Ale od té doby na nových verzích se mi ho nepodařilo rozchodit. Prorámek se sice tváří, jako když je všechno ok, ale ještě se mi z něj nepodařilo vymámit žádný výsledek..;) Zkrátka nevyskočí hláška o nových sedadlech. A není to jen můj problém, stejným způsobem se to nepodařilo rozběhat ani jednomu z mích kamarádů. Tak nevím čím to… Jinak pro informaci sleduju trasu Jihlava-Brno a zpět.. Tak kdyby jsi měl nějaký nápad, jak mi pomoct, byl bych rád.. měj se krásně..;)
Tak to mě nic nenapadá :(
Nicméně jsem udělal pár vylepšení a uvolnil další verzi. Zobrazuje čas posledního updatu a počet míst pro jednotlivé spoje, aby se relevantní informace zobrazovaly i jinde, než v bublině.
Čoveče nevím.. Stále hláška nenaskočí..:( prográmek sice pípne, že jsou volný místa, ale nikde se nic neobjeví.. Ani přítelkyni to nefunguje. Navíc jsem si všiml u této nové verze, při zadávání spoje se tam zobrazuje nějaká mylná informace o počtu volných sedadel. A na čem ty to testuješ, že ti to chodí?
Místa byly fakt blbě, 1.6.5 (už ty nový verze uvolňuju nějak rychle, sakra…)
Testuju na Vista Business SP1, Ubuntu Hardy Heron (MONO) a XP SP3 … Všude to funguje.
neco podobneho jsem si chtel take udelat, ale koukam, ze nemusim:) hodilo by se mi poslani emailu o volnem sedadle.. :)
Aha.. No tak dobrý OS z nás nemá asi nikdo .. ale poslal jsem to asi 5ti lidem , s různými OS a nic… Tak já opravdu nevím, kde je chyba..proč ta zprávička nevyskočí.. Ale ty starší verze ( co fungovali tak do půlky prosince ) nám šli.. tak já nevím, co se změnilo..
#48 - Filda to si asi nekompetentni soudruzi z SA zase hrali s html a zpetne nekompatibilne ho upravovali :) mimochodem, finwe, mohl bys mi vysvetlit co to vlastne znamena zpetne nekompatibilni uprava html? #29 - Finwe diky
Mám problém v Linuxu. Vyberu linku a směr, vyjedou časy, některý si vyberu a zařve to, že „Argument is out of range“ a že problém je v „index“. Nepodaří se mi tedy přidat žádný spoj a nejede to. Chybí mi nějaký balík?
Zdar,
tenhle programek je vazne super…jen mi ted od te doby, co se na spoj
Praha-Brno-Zlin pridal taky ten novy rezervacni system, nefunguje.
Mohl by ses na to kouknout?…Mozna je to jen chyba u me, no nevim.. diky
Koukal jsem se na to, už je to skoro hotový, jen to zbejvá dodělat :)
Nějak jsem musel napojit novou rezervaci (která byla jen pro tři linky) na starou část, aby fungovaly obě, ale chyběla chuť a čas. Jak koukám, všechny linky už jsou v novym rezervačním systému, takže to bude jednodušší.
Teď po víkendu by snad mělo přibejt chuti i času, tak se na to podívám znova :)
Super, dufam, ze si na to mal cas a ze nezabudnes na linky na slovensko… Refresh war je sice zabavna, ale radsej by som vyzuil Tvoj program. Dakujem!
#54 - LuK Linky (jediná linka – Praha-Košice) na slovensko stále funguje v současné verzi. Do nové verze už se asi nedostane, není součástí nového rezervačního systému.
mam problem s verzi 1.6.5. Spusti se, po kliknuti na pridat spoj se otevre novy dialog, ale po vyberu linky Praha-Brno (nebo i jine) se objevi exception „Specified argument was out of the range of valid values. Parameter name: i“. Klidne poslu kompletni tracelogpro jednodussi opravu chyby. Pouzivam WinXP x64.
mam problem s verzi 1.6.5. Spusti se, po kliknuti na pridat spoj se otevre novy dialog, ale po vyberu linky Praha-Brno (nebo i jine) se objevi exception „Specified argument was out of the range of valid values. Parameter name: i“. Klidne poslu kompletni tracelogpro jednodussi opravu chyby. Pouzivam WinXP x64.
#57 - Hugh Jak je napsáno výše: současná verze není kompatibilní s novým rezervačním systémem, čeká se na verzi 1.7, která funkci programu opět obnoví. Čekací doba zatím není známa.
Jak to vypadá s verzí 1.7? Už na ní netrpělivě čekám, zkouškový v plným proudu a já nikdy nemám zarezervovaný sedadlo :))
Zdravim, neco noveho s novou verzi? Bude zacinat skola a to bude potom problem :-/. Prosim za brzke uverejneni. Dik, vazim si vasi prace, ktera nam vsem uz urcite mnohokrat pomohla :-P
Ahoj, všem díky za zájem, kopu se k tomu, pokusím se to zvládnout co nejdřív, snad do konce září… Stay tuned!
Dobry den, take se pridavam k prosbe o novou verzi. Vas programek mi byl doopravdy velice napomocny, rad bych ho opet v nove verzi pouzival. Uz vite nejake blizsi datum, kdy by tak mohl byt k mani? :-)
(preview) 1.7 je venku.
Testováno extenzivně, ale jak pod Vistama, tak pod Mono jede, jde přidávat a ubírat jízdy a volná místa hlásí.
Vy, prosím, hlašte chybky a náměty na drobná vylepšení.
#65 - Finwe
Díky za skvělou práci!
Jen jsem narazil na drobnou chybku. Pokud se nepodaří přístup na web – při kliknutí na Přidat spoj a výběru Linky. Tak dojde k neošetřené výjimce:
System.NullReferenceException: Object reference not set to an instance of object.
at SANotify.Page._parseStations()
at SANotify.addForm.lineBox_SelectedIndexChanged(Object sender, EventArgs e)
Supr prace, neslo by jeste nastavit castejsi kontrolu? Jednou za 3 minuty je nekdy malo :)
#67 - stoletydub 90 sekund je minuta a půl ;) Zatím bych se tomu spíš vyhýbal, v některé z dalších verzí snad nastavitelně (v určitých mezích).
Ahoj, taky jsem moc ocenil tvůj program, dost mi to pomáhá, ale taky bych se přidal s návrhem zvýšit frekvenci kontroly. 90 vteřin je dost dlouhá doba a když mi program volné místo nahlásí, je už pryč dřív, než se v rezervačním systému k rezervaci proklikám. Pokud to hlídám pár dní dopředu, tak ta doba stačí, ale pro hlídání místa pár hodin před odjezdem je ta doba nedostatečná. Možnost nastavení frekvence kontroly do novejší verze je rozhodně dobrý nápad.
Zdravim,
bolo by mozne do programu pridat aj medzinarodne trasy pre Slovensko ? :) .. mne
osobne ide o linku praha-kosice
vopred diks ;)
Zdarec. Jak již všichni víme, student změnil stránky a s novými stránkami bohužel přestal fungovat SA Notify. Nepracujete někdo na nové verzi, dost by se mi a myslím, že nejen mně šikla.
Odkaz na stažení nefunguje.
Pěkný nápad a dle screenů to vypadá velice užitečně – cítím, že budu spokojeným uživatelem – díky za práci