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 15:33 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.8.

    Ladislav Hagara | Komentářů: 1
    dnes 14:22 | IT novinky

    Herní studio Hangar 13 vydalo novou Mafii. Mafia: Domovina je zasazena do krutého sicilského podsvětí na začátku 20. století. Na ProtonDB je zatím bez záznamu.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | IT novinky

    Operátor O2 má opět problémy. Jako omluvu za pondělní zhoršenou dostupnost služeb dal všem zákazníkům poukaz v hodnotě 300 Kč na nákup telefonu nebo příslušenství.

    Ladislav Hagara | Komentářů: 5
    dnes 05:55 | IT novinky

    Společnost OpenAI představila GPT-5 (YouTube).

    Ladislav Hagara | Komentářů: 0
    dnes 05:00 | Nová verze

    Byla vydána (𝕏) červencová aktualizace aneb nová verze 1.103 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.103 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    včera 17:33 | IT novinky

    Americký prezident Donald Trump vyzval nového generálního ředitele firmy na výrobu čipů Intel, aby odstoupil. Prezident to zdůvodnil vazbami nového šéfa Lip-Bu Tana na čínské firmy.

    Ladislav Hagara | Komentářů: 7
    včera 16:55 | Nová verze

    Bylo vydáno Ubuntu 24.04.3 LTS, tj. třetí opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Nová verze

    Byla vydána verze 1.89.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | IT novinky

    Americká technologická společnost Apple uskuteční v USA další investice ve výši sta miliard dolarů (2,1 bilionu korun). Oznámil to ve středu šéf firmy Tim Cook při setkání v Bílém domě s americkým prezidentem Donaldem Trumpem. Trump zároveň oznámil záměr zavést stoprocentní clo na polovodiče z dovozu.

    Ladislav Hagara | Komentářů: 4
    včera 04:55 | Nová verze

    Zálohovací server Proxmox Backup Server byl vydán v nové stabilní verzi 4.0. Založen je na Debianu 13 Trixie.

    Ladislav Hagara | Komentářů: 0
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (45%)
     (21%)
     (4%)
     (6%)
     (3%)
     (1%)
     (1%)
     (19%)
    Celkem 302 hlasů
     Komentářů: 23, poslední 4.8. 13:01
    Rozcestník

    Vyhledávání dopravních spojení v CLI potřetí

    24.7.2008 12:57 | Přečteno: 992× | poslední úprava: 24.7.2008 14:23

    Při zveřejnění svého skriptu jsem tak trochu doufal, že se najde někdo, kdo by mi s jeho úpravou pomohl, respektive jej alespoň okomentoval (které části přepsat a jak, co je hrůza, co ujde...) a já bych měl tak možnost se naučit psát "čistší" programy. To se bohužel zatím nestalo, nicméně já na svůj příšerný skript nezanevřel a proběhla další várka úprav. Takže co je nového?

    Nejvetší změnou je přechod od dlouhého_skriptu_s_minimem_procedur k programu sestávajícího se ze třídy a několika kratších metod. To podstatně usnadní jeho použití i v jiných programech. Další změnou je rozdělení komunikace se serverem IDOSu do více kroků a změna zpracování výstupů. Výsledky (nalezená spojení či možnosti na výběr při nepřesně zadaných koncových bodech) jsou dostupné i prostřednictvím seznamů. Dále jsem se zbavil dočasných souborů a (povetšinou) přešel na unicode retězce. A v neposlední řadě jsem opravil chybu, která nastávala při nepřesně zadaném počátečním i koncovém bodě hledaného spojení. Uživatelům, jsou-li jací, proto doporučuji přechod na novějši verzi.

    Budu rád, když se ke skriptu vyjádříte a navrhnete další úpravy a vylepšení. Dostupný je stále na stejné adrese.

    UPDATE: Jak už to tak chodí, chvíli po zveřejnění zápisku jsem nalezl chybu. Při zadání neexistujícího cíle se skript zacyklil. Již je to (doufám) opraveno, stahujte tedy verzi 0.35.

           

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    24.7.2008 13:19 luke7 | skóre: 3
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení v CLI potřetí
    Uživatele máte, je to velmi zajímavý projekt a fandím mu. Jednou bych to rád použil jako jabberbota. S vývojem bych pomohl, ale vypadá to, že není třeba :-), navíc python zrovna nepoužívám...
    24.7.2008 13:51 kkaarreell | skóre: 6 | blog: perkele
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení v CLI potřetí
    Diky za podporu. Pokud jde o jabberbota, tak jeden takovy jiz existuje, byl zminen v diskuzi u jednoho z predchozich blogu. A co se pomoci s vyvojem tyce, tak bych ji uvital, ikdyz, pravda, od nekoho v pythonu zkusenem. V blizsi dobe neplanuju pridavat zadne nove funkce, jen procistit kod. Stacilo by mi okomentovat "nepekne pasaze" (a ze jich je) a poradit, jak je upravit.
    24.7.2008 16:23 rajcze | skóre: 6 | blog: rajcze | kus od Brna
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení v CLI potřetí
    No, ja ti s pythonem klidne poradim :) nejsem sice nejaky velky guru, ale nejake zkusenosti uz sem nabral :)

    Kdyztak se ozvi na jabberu rajcze@njs.netlab.cz

    Joza
    Rules of Optimization: Rule 1: Don't do it. Rule 2 (for experts only): Don't do it yet.
    24.7.2008 17:36 luke7 | skóre: 3
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení v CLI potřetí
    ďěkuji za odkaz, to vypadá pěkně, ale stejně si možná udělám vlastní, hodila by se funkce nějaké proxy a prohlížení webu v osekané textové verzi pomocí bombusu v mobilu...
    24.7.2008 13:31 manasekp | skóre: 29 | blog: manasekp | Brno
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení v CLI potřetí
    mam trochu OT dotaz, pyhon nepouzivam a proto me prekvapily ty podminky ve skriptu, treba

    if kod == KOD_NEJEDNOZNACNE_KONCOVE_BODY: ...
    else: ...

    da se v pythonu pouzit i "normalni" zapis if(podm){} ?
    je nejaky duvod pro pouziti te syntaxe co tam mas ty?
    BIOKOMP | Cas od casu se pokousim nekoho srazit k zemi abych se tam nevalel sam.
    David Watzke avatar 24.7.2008 13:37 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení v CLI potřetí
    Ne, protože Python není "normální" jazyk ;-) :-D Bloky se odlišují pomocí odsazení... je to šílený.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    Václav 24.7.2008 13:54 Václav "Darm" Novák | skóre: 26 | blog: Darmovy_kecy | Bechyně / Praha
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení v CLI potřetí
    Na druhou stranu to učí nováčky slušně formátovat kód.
    Cross my heart and hope to fly, stick a cupcake in my eye!
    24.7.2008 16:42 CEST
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení v CLI potřetí
    Uraaa, a mame tady flame:-)

    No, jak se to vezme. Me jako navacka v pythonu a pokrocilyho v bashi, perlu a amatera jinych docela hodne zmatlo, kdyz jsem pripsal jeden radek v python kodu a pri spusteni me to vyfuckovalo, ze mam blby zarovnani. Podival jsem se znovu, zarovnani bylo ok. Pak mi teprve doslo, ze python sice rozpoznava bloky podle odsazeni, ale ne podle vizulaniho odsazeni, ale podle poctu znaku. Takze milej uzivateli, neni whitespace jako whitespace. 8 mezer PROSTE NENI stejne jako 4 taby nastaveni na sirku 2 znaky.

    Jinak me to taky docela stve z toho duvodu, ze nemuzu napsat python kod na jeden radek, napr. v cmdline.

    No, python je mozna pro zacatecniky, ale ne pro pokrocily. Proto se u me moc nechyt. Ale ne, trosku mi tam vadi i funkce, schovavany za pseudo metody. Na tom se pak zacatecnici uci pekne blbe OOP.
    24.7.2008 16:49 JS
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení v CLI potřetí
    A co je podle vas vizualni odsazeni? :-) Pocitac to vidi jak je to v tom souboru. To ze ruzne programy interpretuji delku tabu ruzne, je problem s taby, ne Pythonem. Doporucoval bych v Python zdrojacich taby vubec nepouzivat (mit v editoru nastavene nahrad taby mezerami).
    Václav 25.7.2008 11:47 Václav "Darm" Novák | skóre: 26 | blog: Darmovy_kecy | Bechyně / Praha
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení v CLI potřetí
    Rozumím tomu dobře že používáš ve svých projektech taby i mezery, podle toho jak se to hodí? Nevede to pak k rozházení vizuální stránky kódu když to otevřeš v editoru s jinak nastavenou délkou tabu?
    Cross my heart and hope to fly, stick a cupcake in my eye!
    25.7.2008 13:48 zde | skóre: 9 | blog: Linuch | Brno
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení v CLI potřetí
    > 8 mezer PROSTE NENI stejne jako 4 taby nastaveni na sirku 2 znaky.

    Kterej kokot si nastavuje TAB na dva znaky?
    Táto, ty de byl? V práci, já debil.
    27.8.2008 15:16 Smajchl | skóre: 39 | blog: Drzy_Nazory | Praha
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení v CLI potřetí
    co je na tom spatne?
    My máme všechno co chcem, my máme dobrou náladu!
    24.7.2008 14:19 manasekp | skóre: 29 | blog: manasekp | Brno
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení v CLI potřetí
    zajimave, jak to teda pozna kde je konec podminky? kdyz budu met treba 10 vnorenych podminek a z toho nektere budou met i else cast tak uz prece neni mozne se v tom rozumne orientovat, kdezto pekne naformatovany kod s pouzitim zavorek je prehledny vzdycky.
    BIOKOMP | Cas od casu se pokousim nekoho srazit k zemi abych se tam nevalel sam.
    24.7.2008 14:23 Raduz | skóre: 5
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení v CLI potřetí
    No...v pythonu se v tom vyznáš taky, protože máš "pěkně naformátovaný kód" tak nějak z principu věci.
    24.7.2008 14:34 JS
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení v CLI potřetí
    V Pythonu se konec podminky pozna dvojteckou. Jak proste!

    Navic v dobe, kdy Guido jeste delal jazyk ABC, tak delali nejake usability testy, a zjistili, ze ta dvojtecka tomu pridava na citelnosti.
    24.7.2008 14:16 Raduz | skóre: 5
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení v CLI potřetí
    Co to je "normální" zápis? :-) Python to prostě takhle má - podmínka končí dvojtečkou, blok kódu pro danou podmínku je odsazený whitespacem (případně je napsaný hned za dvojtečkou, pokud je toho jen na jeden rádek).
    24.7.2008 14:47 JS
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení v CLI potřetí
    Probiram se trochu tim zdrojakem, a ma k tomu par doporuceni:

    1. Misto dict_opts.has_key("-d") je doporuceno pouzivat zapis "-d" in dict_opts. Navic cela ta podminka v nastavovani parametru by sla prepsat pomoci int(dict_opts.get("-d",5)).

    2. V te funkci parsuj_nalezene_spojeni by asi bylo lepe pouzit generator na radky, a misto toho oskliveho idiomu if faze_hledani == ?? pokazde iterovat skrze nej dokud by se nenarazilo na prislusny zaznam. Kratsi, citelnejsi a rychlejsi. Totez pro ostatni podobne funkce. Prave generatory maji vyhodu, ze se pomoci nich citelne implementuji stavove automaty, coz je tento pripad.
    24.7.2008 15:46 kkaarreell | skóre: 6 | blog: perkele
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení v CLI potřetí
    Diky. O generatorech jsem precetl jen neco malo. Zkusim si k nim jeste neco najit.. Ale muzes mi zlehka nastinit, jak by ten kod vypadal? Neni mi uplne jasne, jak by se implementovaly ty jednotlive stavy (faze hledani). Respektive, tenkrat jsem to tak napsal prave proto, abych se v tom vyznal :-) a nedari se mi vymyslet srozumitelnejsi reseni s generatory. Jeste jednou diky.
    24.7.2008 17:16 JS
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení v CLI potřetí
    Jsem ted na mitinku, takze to mozna nebude davat uplne smysl, ale zhruba takto:
    
    def parsuj_spojeni():
    
      def generator_radku(file):
        for line in file:
          .. nejake zpracovani vstupni radky line
          if pocet_spoju > max_pocet_spoju: break
          yield line
        return
    
      pocet_spoju=0
      gr=generator_radku(file)
      
      for line in gr:
        while not re.search("cosi",line): gr.next()
        .. zpracovani prvniho stavu
        while not re.search("cosi dalsiho",line): gr.next()
        .. zpracovani druheho stavu
        ...
        pocet_spoju+=1
    
    
    Zkratka, zakladni myslenka je, mit vstupy (v tomto pripade radky) ktera chcete prijimat tim stavovym automatem schovane v tom generatoru, a stavy toho automatu implementovat jako normalni body v kodu, ktere si proste vzdy vyzadaji prislusny ocekavany vstup (bud pomoci gr.next() nebo pomoci for cyklu pres gr).

    Tak bych to asi delal ja, je to citelnejsi nez studovat prechod mezi stavy a co ktery stav znamena.
    24.7.2008 18:00 kkaarreell | skóre: 6 | blog: perkele
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení v CLI potřetí
    Diky, to vypada dobre.

    Založit nové vláknoNahoru

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