abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 11:22 | Zajímavý projekt

    Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.

    Ladislav Hagara | Komentářů: 0
    dnes 09:11 | Bezpečnostní upozornění

    Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.

    Ladislav Hagara | Komentářů: 0
    včera 20:00 | Komunita

    V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.

    Ladislav Hagara | Komentářů: 1
    včera 19:22 | IT novinky

    Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).

    Ladislav Hagara | Komentářů: 0
    30.4. 22:33 | Nová verze

    Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.

    Ladislav Hagara | Komentářů: 0
    30.4. 17:44 | Zajímavý článek

    Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.

    karkar | Komentářů: 0
    30.4. 12:11 | Humor

    Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).

    Ladislav Hagara | Komentářů: 7
    30.4. 10:44 | IT novinky

    Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.

    Ladislav Hagara | Komentářů: 31
    30.4. 09:55 | IT novinky

    Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.

    Ladislav Hagara | Komentářů: 8
    30.4. 09:33 | IT novinky

    Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.

    Ladislav Hagara | Komentářů: 0
    Jaký filesystém primárně používáte?
     (58%)
     (1%)
     (9%)
     (22%)
     (4%)
     (1%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 501 hlasů
     Komentářů: 19, poslední 30.4. 11:32
    Rozcestník

    Vyhledávání dopravních spojení popáté a tečka

    31.7.2008 14:28 | Přečteno: 1512× | poslední úprava: 2.8.2008 21:56

    Je tu další pokrok ve vývoji skriptu pro hledání dopravních spojení v CLI. Tohle bude nejspíš na delší dobu poslední zápis. Nechci tak často okupovat titulní stránku s blogy, takže pokud se stane, že bych skript v budoucnu ještě upravoval, slibuji, že už mu věnuji samostatnou stránku někde na webu a informace o jeho adrese bude na toto téma poslední. A nebo možná ne.

    !!!UPDATE!!! Tak se i stalo, domovská stránka projektu je na http://code.google.com/p/spoje/.

    Ještě než se vrhnu na novinky, chtěl bych poděkovat všem dobrým duším za pozitivní ohlasy a náměty na zlepšení. A o čem se bude po dnešním zápisku mluvit?

    Implementace vypisování detailů o jednotlivých spojích (no, prakticky jen zastávky, časy příjezdů a odjezdů a nějaký ten balast okolo) se ukázala být ne až tak složitá. Sice jsem skript zase trochu zamotal, nicméně se dílo podařilo a komu tato funkce chyběla, nechť pátrá po přepínačích "-z" a "-Z".

    Přidání podpory pro vyhledávání podle času příjezdu se ukázalo být intelektuální výzvou. Úprava skriptu byla triviální, horší bylo vymyslet jak tuto funkci jednoduše zpřístupnit. Chtěů jsem přitom zachovat parametr "-c". Prvním nápadem byla specifikace času ve formátu "-c <10:00". I ti průměrní jistě tuší, že toto řešení je poměrně nešťastné. Já se přiznám, že mi to došlo až při pokusu o spuštění. Nebudu to protahovat, projel jsem na celé čáře a uchýlil se k formátu "-c 10:00p" ("p" jako příjezd). Tak nevím, jestli by "-C" nebylo lepší. Bude-li mít někdo jiné preference, nechť dá vědět, v dalších verzích to může být jinak. Na nějakou zpětnou kompatibilitu se tu nehraje.

    Zbytek úprav jsou jen formality: přepracoval jsem nápovědu a při zadávání datumu není nyní nutné uvádět rok. To je myslím vše.

    Plány do budoucna jsem již naznačil v úvodu. Střízlivé náměty na zlepšení a jiné ohlasy pište ještě do diskuze, v budoucnu pak na moji adresu uvedenou ve skriptu. Podle ankety má skript cca 7 uživatelů. Pevně věřím, že bude-li při nás stát štěstí, do konce roku překročíme desítku a za dalších deset let dvacítku. To bude ta správná chvíle na vydání fanouškovských triček, nízký počet uživatelů zaručí dostatečnou exkluzivitu a originalitu.

    Skript je ke stažení na stále stejné adrese. Na závěr pár ilustrací z terminálu:

    # Nasledujici prikazem vyhledame dopravni spojeni z Hlavniho nadrazi na Uvoz 
    # s prijezdem na Uvoz do 17:58 (vcetne). Mohli bychom tak povzbuzovat obsluhu 
    # v Pomalem baru pri otviracce, pokud by teda nebyl momentalne zavreny... 
    # nebo ze by uz ne?
    
    $./spoje.py -c 17:58p -s 3 brno "hlavni nadrazi" uvoz 
    --------------------
    Datum: 31.7.
      *    17:36  Hlavní nádraží, 100, tramvaj 4
    17:45    *    Úvoz, 100
    
    Pozn.: 9 min, 2 km, Základní 10 Kč
    --------------------
    Datum: 31.7.
      *    17:42  Hlavní nádraží, 100, tramvaj 4
    17:51    *    Úvoz, 100
    
    Pozn.: 9 min, 2 km, Základní 10 Kč
    --------------------
    Datum: 31.7.
      *    17:48  Hlavní nádraží, 100, tramvaj 4
    17:57    *    Úvoz, 100
    
    Pozn.: 9 min, 2 km, Základní 10 Kč
    
    
    # Vyhledame nejblizsi vlakovy spoj z Olomouce do Plzne a vypiseme detaily 
    # o trase pouzitych vlaku. 
    # Pro vypis pouze zastavek na trase slouzi parametr -z.
    
    $./spoje.py -s 1 -Z vlak olomouc plzen
    --------------------
    Datum: 31.7.
      *    14:17  Olomouc hl.n., vlak SC 506 SC PENDOLINO
    16:32    *    Praha-Holešovice, přesun asi 30 min
      *    17:24  Praha-Smíchov, vlak R 456 ALBERT EINSTEIN
    18:50    *    Plzeň hl.n.
    
    Pozn.: 4 hod 33 min, 360 km, 648 Kč / 422 Kč (zákaznické jízdné)
    
    === SC 506 SC PENDOLINO ===    Příj.   Odj.  Pozn.
     Ostrava hl.n.                        13:20           0 km
     Ostrava-Svinov                13:26  13:28           5 km
    *OLOMOUC HL.N.                 14:15  14:17         106 km
     Pardubice hl.n.               15:33  15:34         252 km
    *PRAHA-HOLEŠOVICE              16:32                356 km
    
    === R 456 ALBERT EINSTEIN ===    Příj.   Odj.  Pozn.
    *PRAHA-SMÍCHOV                          17:24           0 km
     Beroun                          17:53  17:54          39 km
     Hořovice                        18:08  18:09          58 km
     Rokycany                        18:30  18:31          87 km
    *PLZEŇ HL.N.                     18:50  19:00         110 km
     Domažlice                       19:44  19:46         169 km
     Furth i Wald                    20:11  20:21         191 km
     Cham(Oberpf)                    20:36  20:37         210 km
     Schwandorf                      21:05  21:21         258 km
     Regensburg Hbf                  21:48  21:57         300 km
     Neufahrn(Niederbay)             22:19  22:20         338 km
     Landshut(Bay)Hbf                22:34  22:36         361 km
     Freising                        22:56  22:57         395 km
     München Hbf                     23:21                436 km
    
    
    # a na zaver nova a ukecanejsi napoveda
    
    $./spoje.py
    
        Skript hleda dopravni spoje prostrednictvim serveru idos.cz
        Verze 0.45
    
        Pouziti:  spoje.py [prepinace] 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
                         ostrava - MHD v Ostrave
                         liberec - MHD v Liberci
            odkud      Retezec urcujici misto (zastavku) odjezdu. Viceslovny nazev
                       je treba (spolu s pripadnym kodem) uzavrit do uvozovek nebo
                       apostrofu.
            kam        Retezec urcujici misto (zastavku) prijezdu. Viceslovny nazev
                       je treba (spolu s pripadnym kodem) uzavrit do uvozovek nebo
                       apostrofu.
            kod        Retezec identifikujici misto v pripade nejednoznacneho zadani.
    
        Prepinace:
            -b         Batch mode - nepta se na pripadne upresneni spoje.
            -c cas     Cas odjezdu resp. prijezdu (do cilove stanice) hledaneho
                       spojeni (defaultni hodnotou je aktualni cas).
                       Cas odjezdu specifikujeme napriklad '-c 10:00'.
                       Cas prijezdu se specifikuje pomoci znaku 'p' hned za zadanou
                       hodnotou, tedy napriklad '-c 10:00p' oznacuje spojeni s casem
                       prijezdu pred 10:00.
            -d datum   Datum odjezdu/prijezdu (defaultni hodnotou je aktualni datum)
                       pouziti napriklad '-d 25.7.' nebo '-d 25.7.2008'.
                       Pri neuvedeni roku se pouzije aktualni kalendarni rok.
            -p cislo   Maximalni pocet prestupu (defaultni hodnota 3)
            -s cislo   Pocet hledanych spoju (defaultni hodnota 5)
            -z         U kazdeho spoje vypise seznam zastavek na trase
            -Z         U kazdeho spoje vypise seznam vsech zastavek
    
    

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    31.7.2008 15:08 xaxa
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení popáté a tečka
    $ chmod +x spoje.py $ ./spoje.py bash: ./spoje.py: /usr/bin/python: bad interpreter: No such file or directory $
    31.7.2008 15:11 fakenickname | skóre: 42 | blog: fakeblog
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení popáté a tečka
    Jeste jednou a lepe..
    $ ./spoje
    bash: ./spoje: No such file or directory
    $ chmod +x spoje.py 
    $ ./spoje.py 
    bash: ./spoje.py: /usr/bin/python: bad interpreter: No such file or directory
    $ whereis python
    python: /usr/local/bin/python /usr/local/man/man1/python.1.gz /usr/ports/lang/python
    $ head -n1 spoje.py 
    #!/usr/bin/python 
    $ 
    
    Pro tyhle veci by se mel pouzivat nejaky kouzelny prikaz misto samotne absolutni cesty, ale za boha si nemuzu vzpomenout jaky..
    31.7.2008 15:21 fakenickname | skóre: 42 | blog: fakeblog
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení popáté a tečka
    ah.. uz sem to nasel.. http://en.wikipedia.org/wiki/Shebang_(Unix).. hlavne sekce "Portability"
    31.7.2008 15:27 fakenickname | skóre: 42 | blog: fakeblog
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení popáté a tečka
    a jinak diky za pekny skriptik.. bude se hodit..
    31.7.2008 15:30 kkaarreell | skóre: 6 | blog: perkele
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení popáté a tečka
    Diky za pripomenuti, tohle je ta vec, co jsem chtel upravit a zapomnel. Musim si to psat. :-D
    31.7.2008 15:31 kkaarreell | skóre: 6 | blog: perkele
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení popáté a tečka
    Ehm, tim jsem chtel rict, ze uz je to opraveno.
    1.8.2008 09:46 miro
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení popáté a tečka

    Časy příjezdů jsou paráda, moc díky za to. Ještě jednou smekám, moc užitečná věcička.

    Měl bych ještě jeden tip, když tu byla nad vaším předchozím blogpostem ta debata o conky. Bylo by fajn mít možnost zobrazit zpoždění vlaku (pokud je na cestě), případně mít možnost zobrazit zpoždění přímým zadáním čísla nebo názvu (příp. části názvu) vlaku (pokud ho znám). Ta druhá možnost asi není realizovatelná přes jizdnirady.idnes.cz (nikde jsem tam tuhle volbu nenašel) ani přes cd.cz (tam možnost zjistit polohu vlaku podle jeho čísla existuje, ale formulář je chráněný captchou), ale existuje možnost brát data odsud a odsud. Když mám jít někomu naproti k vlaku, hodilo by se mít v conky na ploše údaj o tom, kolik mám ještě času.

    Pokud už pro vás tenhle námět nebude taková výzva, abyste se tím zabýval, nevadí, i tak velký dík za stávající aplikaci. Ale pokud byste měl aspoň tip na nějaké šikovné howto kterak rozparsovat html v bashi (k pythonu jsem ještě vůbec nedostal, musel bych se ho naučit komplet od začátku), uvítám info, časem bych to případně zkusil sám (najdu-li čas na studium).

    1.8.2008 10:52 kkaarreell | skóre: 6 | blog: perkele
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení popáté a tečka
    Jak jsem to zacal cist, tak jsem si rikal, ze priste nekdo dalsi bude chtit hodinky s vodotriskem. :-D Ale o tech strankach se zpozdenim jsem nevedel. Jak budu mit cas, kouknu na to. Nemusel by to byt az takovej problem, ale nic neslibuju.
    1.8.2008 11:47 miro
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení popáté a tečka
    priste nekdo dalsi bude chtit hodinky s vodotriskem. :-D
    Nic ve zlém, já to bral spíš jako
    Střízlivé náměty na zlepšení a jiné ohlasy pište ještě do diskuze (...)
    :-)
    2.8.2008 13:19 kkaarreell | skóre: 6 | blog: perkele
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení popáté a tečka
    Vsak jasne, ja jen ze nez jsem se docetl k tem odkazum, tak mi to moc strizlivy neprislo. :-D Ale dik za namet, libi se mi to, tak na tom zapracuju.
    2.8.2008 14:32 miro
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení popáté a tečka
    No, já jsem původně myslel, že není moc reálná ani ta první možnost (tj. zobrazit zpoždění vlaku ne podle jeho čísla ale u vyhledaného spoje, který je už na cestě, tj. u spoje je ikonka hodin s javascriptovým popupem), ale když jsem viděl, že jste dokázal vyparsovat zastávky vyhledaných spojů (což je zřejmě dost totéž [?])... BTW by údaj získaný z originálních stránek byl o něco aktuálnější, na babitronu by měly být polohy osobáků "do 15 minut" od oficiálního zveřejnění, u ostatních vlaků "do 5 minut" (viz mnou odkazované stránky - poznámka v jejich zdrojovém kódu úplně dole). Ale ono to z babitronu většinou bude stačit (člověk zpravidla potřebuje sledovat rychlíky jedoucí z větších vzdáleností).

    BTW zdá se mi to, nebo poslední verze vašeho skriptu (na rozdíl od předchozích) už neukazuje spoje jedoucí až další den (speciálně jsem si toho všimnul u vlaků, které si zobrazuju v conky)?
    2.8.2008 16:05 kkaarreell | skóre: 6 | blog: perkele
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení popáté a tečka
    Aha, no ja totiz vubec nevedel, ze z originalnich stranek lze ziskat ten udaj o zpozdeni. Az tak jsem je nikdy nevyuzival, spis na tu hromadnou dopravu, takze tahle informace me uplne mijela. Nicmene ted kdyz to vim, tak ten udaj budu tahat z idosu.

    Pokud jde o ty spoje jedouci dalsi den, tak v tomhle ohledu jsem nic nemenil. Takze by to melo byt zpusobeno tim, ze ty spoje idos proste nevraci. Ja vyuzivam rozhrani vlak.cz, muzete se teda kdyztak podivat, jake spoje to dava tam. Ale podle toho, co jsem zkousel, tak to ty spoje dalsi den proste nevraci. Bohuzel. Kdyztak zkuste, jestli v tomto ohledu najdete nejaky rozdil v chovani mezi idos.cz a vlaky.cz.
    2.8.2008 21:53 kkaarreell | skóre: 6 | blog: perkele
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení popáté a tečka
    Tak uz mam ta zpozdeni vlaku pokusne implementovana. Zatim je to dostupne ve vyvojove verzi, jez je k dispozici prostrednictvim subversion, vice viz viz http://code.google.com/p/spoje/. Prohlednete si napovedu programu, trochu jsem zmenil prepinace.
    3.8.2008 12:23 miro
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení popáté a tečka
    Díky za vylepšení, bohužel mi právě začíná dovolená, tak se nebudu moci přiřadit k testerům. Ale těším se na to po návratu.
    1.8.2008 14:48 Jiří Jakeš | skóre: 22 | blog: Linuxovna_JJ | Taipei
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení popáté a tečka
    ad babitron: Informace jsou k dispozici také výhradně v plain textu (Verze pro internet v mobilu).
    1.8.2008 15:11 miro
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení popáté a tečka
    Vida, tohle jsem neznal, to už (snad) dokonce zvládnu naparsovat i sám :-)
    Limoto avatar 1.8.2008 12:44 Limoto | skóre: 32 | blog: Limotův blog
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení popáté a tečka
    Myslím, že by ses měl naučit s nějakým VCS a použít nějakej jeho veřejnej hosting.
    2.8.2008 13:17 kkaarreell | skóre: 6 | blog: perkele
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení popáté a tečka
    Myslels asi CVS. No, prijde mi to na ten skript zbytecny. Vyhodou by snad mohla byt snazsi aktualizace pro uzivatele, ale pro me by byl spis komplikaci.
    2.8.2008 21:50 kkaarreell | skóre: 6 | blog: perkele
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení popáté a tečka
    No, tak nakonec jsem projekt nahral na googlecode a tim padem jsem se dostal i k subversion, viz http://code.google.com/p/spoje/
    Limoto avatar 3.8.2008 19:57 Limoto | skóre: 32 | blog: Limotův blog
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení popáté a tečka
    Myslel jsem VCS (Version Control System) obecně, CVS je konkrétní (mj. asi nejhorší) implementace.
    3.8.2008 21:27 kkaarreell | skóre: 6 | blog: perkele
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení popáté a tečka
    Ach tak.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.