Odorik Součty

Jak ovládat Odorik a používat služby pomocí speciálních programů a aplikací.
Uživatelský avatar
Zedna
Příspěvky: 736
Registrován: stř 04. dub 2012 0:57:53

Odorik Součty

Příspěvek od Zedna »

Odorik Součty - verze 0.92
==========================
Program pro zobrazení/filtraci součtů dle CSV výpisu hovorů Odorika stažených přes API.
Program po stažení CSV výpisu umožňuje filtrování dle délky/ceny/směru/destinace hovoru.
Součty jsou možné dle Den/Měsíc/Rok.
Dvojklikem na daném řádku/období se zobrazí podrobný výpis hovorů s možností filtrace dle telefonu.

Pokud je zadán vstupní parametr /kontakty, tak se zobrazí pouze rychlé kontakty v samostatném okně.
Pokud je zadán vstupní parametr /kredit, tak se zobrazí pouze aktuální kredit v samostatném okně
velkým písmem s volitelnými barvami dle nastavení v INI souboru.

Program vždy po spuštění stáhne aktuální CSV výpis hovorů za celé období (od roku 2000 do dneška) a
tento výpis uloží do souboru odorik_soucty_data.csv. Následně nad ním provádí součty a filtrace,
jejichž výsledky jednak zobrazuje v okně aplikace a
zároveň zvolené součty automaticky ukládá do TXT souboru odorik_soucty_data.txt.

Chování programu lze ovlivnit nastavením v INI souboru.
Před prvním spuštěním programu je nutné do INI souboru zadat API jméno a heslo.
Program načte a zobrazí CSV výpis s tím, že umožňuje:
-----------------------------------------------------
- zobrazení součtů za zadané období (den/měsíc/rok)
- zobrazení ceny/délky/počtu hovorů
- zobrazení min/prům/max/celkem
- zobrazení počtu období a aktuálního kreditu ve stavovém řádku
- možnost filtrace dle délky/ceny/směru/destinace/telefonu
- zapamatování posledních zadaných voleb období/filtrace
- na dvojklik na daném řádku zobrazení seznamu hovorů pro dané období (na řádku Celkem zobrazí všechny hovory)
- v seznamu hovorů zobrazení jména dle rychlých kontaktů u telefonu odkud/kam (tel. číslo jako ToolTip)
- v seznamu hovorů možnost filtrace dle konkrétního tel. čísla (dvojklikem nebo výběrem z rozbalovací nabídky)
- v seznamu hovorů zobrazení počtu odchozích/příchozích/všech hovorů
- v seznamu hovorů zobrazení celkového součtu délky a ceny
- možnost zvolit zda zobrazovat/počítat i přesměrované hovory
- možnost zvolit formát zobrazení délky hovorů: hh:mm:ss nebo jen mm:ss (vhodné pro srovnání s tarify operátorů)
- volitelné barevné zvýraznění řádků pokud cena za měsíc je větší než hodnota zadaná v INI souboru
- automatický export vyfiltrovaných součtů do TXT souboru
- zobrazení informací o CSV souboru (velikost, datum, souhrnné statistické údaje)
- zobrazení rychlých kontaktů v samostatném okně, z okna {F9} nebo z příkazové řádky /kontakty
- zobrazení aktuálního kreditu v samostatném okně, příkazové řádky /kredit
Program je FREEWARE - lze jej libovolně kopírovat.

Pokud jste s programem spokojeni a chcete podpořit autora,
můžete poslat libovolnou částku na můj účet FIO: 2100028771/2010
nebo alespoň poslat vzkaz na můj email.
HISTORIE:
---------
Verze 0.92 (19.3.2015)
- přidán filtr dle telefonního čísla i v okně součtů (pův. jen v okně hovorů), tzn. útraty na dané tel. číslo po měsících
- u filtru Destinace a Telefon v okně součtů přidáno tlačítko pro rychlé vynulování filtru (červený křížek)
- u zobrazení informací o CSV souboru {F3} přidán údaj počet unikátních tel. čísel odkud/kam/vše
- nová klávesová zkratka: F2 - otevření CSV výpisu hovorů v implicitním externím prohlížeči
- nová klávesová zkratka: Ctrl+F2 - otevření CSV výpisu hovorů v Poznámkovém bloku
- nový INI parametr UkladatPredvolbyFiltru - zda si pamatovat předchozí nastavení všech filtrů při příštím spuštění aplikace
- změna INI parametru NestahovatCSV na NestahovatHovory - nyní vztaženo jen na stahování CSV výpisu hovorů (ne kontakty,kredit)
- nový INI parametr NestahovatKontakty - zda místo stažení aktuálních kontaktů jen načíst naposledy stažené kontakty ze souboru
- nový INI parametr NestahovatKredit - zda provádět stažení aktuálního kreditu (při /kredit stahuje kredit vždy)
- odstraněn nepoužitý INI parametr ZjistovatKreditPoSpusteni
- zadaný filtr Destinace se nenačítal při příštím spuštění aplikace (z INI Predvolby)
- při načítání kreditu se nyní ve stavovém řádku zobrazí "Načítám kredit ..."
- zpřesněny některé texty vypisované ve stavovém řádku a texty chybových hlášení
- zmenšena paměťová náročnost aplikace

Verze 0.91 (17.3.2015)
- výrazně zrychlena filtrace
- ošetřen parsing CSV s údaji v uvozovkách obsahujícími čárku (oddělovač) pomocí regulárních výrazů
tzn. že nyní už není třeba pův. INI parametr [DestinaceSCarkou]
- jako vstupní parametr (příkazové řádky) lze nyní zadat INI soubor (pův. natvrdo stejný název INI jako EXE)
- přidáno zobrazení informací o CSV souboru na klávesovou zkratku F3 (velikost, datum, souhrnné statistické údaje)
- ošetřeno přetečení a dělení nulou při výpočtu min./prům./max. při jen jednom období
- v ZIP souboru a instalačním programu chyběl soubor odorik_soucty_ukazka.au3
- v TXT popisu přidána nová sekce "Známé problémy" (při instalaci nové verze se vždy přepíše pův. existující INI soubor)

Verze 0.9 (13.3.2015)
- první veřejně publikovaná verze včetně instalačního programu (k dispozici je i verze bez instalátoru)
*****
Petr Zedník
petr.zednik@volny.cz

Program lze stáhnout z mých stránek včetně úplného detailního popisu:
http://www.volny.cz/petr.zednik/
http://www.volny.cz/petr.zednik/odorik_ ... soucty.htm
hlavní okno aplikace
hlavní okno aplikace
odorik_soucty.png (8.31 KiB) Zobrazeno 10119 x
výpis hovorů zobrazený po dvojkliku na daném řádku/období
výpis hovorů zobrazený po dvojkliku na daném řádku/období
odorik_soucty_hovory.png (16.98 KiB) Zobrazeno 10551 x
samostatné okno rychlých kontaktů
samostatné okno rychlých kontaktů
odorik_soucty_kontakty.png (6.91 KiB) Zobrazeno 10551 x
EDIT:
zde je odkaz na téma kde jsem se poprvé zmínil o této aplikaci
http://forum.odorik.cz/viewtopic.php?f=18&t=3034
Naposledy upravil(a) Zedna dne čtv 19. bře 2015 2:31:54, celkem upraveno 3 x.
helmut.niederman
Příspěvky: 1012
Registrován: stř 10. črc 2013 21:40:28

Re: Odorik Součty

Příspěvek od helmut.niederman »

Mockrát děkuji, už jsem si stáhnul a vyzkoušel a hned na mne vyskočila při načtení tato závažná chyba. Co to znamená ?
ChybaOdorikSoucty.JPG
ChybaOdorikSoucty.JPG (31.07 KiB) Zobrazeno 10409 x
MaT
Příspěvky: 364
Registrován: pát 29. bře 2013 14:35:14

Re: Odorik Součty

Příspěvek od MaT »

Co to znamená? Mně tedy přijde, že ta chybová hláška je velmi nadstandardní - tzn. člověk se v ní přesně dozví, co je za problém a jak ho případně řešit... :-)
helmut.niederman
Příspěvky: 1012
Registrován: stř 10. črc 2013 21:40:28

Re: Odorik Součty

Příspěvek od helmut.niederman »

MaT píše:Co to znamená? Mně tedy přijde, že ta chybová hláška je velmi nadstandardní - tzn. člověk se v ní přesně dozví, co je za problém a jak ho případně řešit... :-)
No já teda nevím jak to mám řešit ? Každopádně jsem zkoušel změnit účet Odorik a pod jiným APi heslo a API login to funguje, ale u hlavního účtu to nefunguje. Kde je chyba v rychlých kontaktech nebo kde ? Demo účet Odorik dobře funguje v aplikaci Odorik Součty, jenom ne ten můj hlavní :roll:
Uživatelský avatar
Zedna
Příspěvky: 736
Registrován: stř 04. dub 2012 0:57:53

Re: Odorik Součty

Příspěvek od Zedna »

Chyba struktury CSV je popsana v TXT popisu, citace:
Poznámky:
---------
- protože v CSV výpisu staženém přes Odorik API používajícím jako oddělovač sloupců čárku
je čárka zároveň použita i ve sloupci "Destinace"
tak kvůli zjednodušenému parsingu CSV je nutné mít v INI souboru v sekci [DestinaceSCarkou]
definován seznam destinací vyskytujících se ve staženém CSV výpisu a dle tohoto seznamu se provede
náhrada hodnot s čárkou za hodnoty bez čárky, implicitně jsou v INI povoleny jen destinace s čárkou
pro Českou republiku, ostatní destinace s čárkou jsou jen připravené a zakomentářované znakem středník,
aby se zbytečně nezpomalovalo načítání a úprava staženého CSV výpisu
pokud se objeví při načítání chybové hlášení "Chyba struktury CSV souboru! ..."
pravděpodobně údaj Destinace v CSV obsahuje čárku a tato destinace není uvedena/povolena v INI souboru
v sekci [DestinaceSCarkou], pak je nutné INI upravit/doplnit ručně
Zde je ukazka, jak v INI souboru vypada ta sekce DestinaceSCarkou
[DestinaceSCarkou]
Destinace="Česká rep. 840, 842, 848"
Destinace="Česká rep. 81, 83, 84"
;Destinace="Filipíny - mobil Nextel, Smart"
;Destinace="Filipíny - mobil Sun, Globe"
;Destinace="Guinea - MTN, Sotelgui, Cellcom"
;Destinace="Itálie – mobil Vodafone, Wind, TIM, H3G"
;Destinace="Kazachstán - K-Cell, KaR-Tel"
;Destinace="Kyrgyzstán - mobil Aktel, Katel"
;Destinace="Moldavsko, mobil Pridnestrovie"
;Destinace="Moldavsko, Kišiněv"
;Destinace="Moldavsko, mobil Eventis"
;Destinace="Moldavsko, mobil MoldCell"
;Destinace="Moldavsko, mobil Moldtelecom"
;Destinace="Moldavsko, mobil Orange"
;Destinace="Moldavsko, pevná"
;Destinace="Moldavsko, pevná Pridnestrovie"
;Destinace="Pobřeží slonoviny - mobil Comium, Oricel"
;Destinace="Rakousko - National, Premium"
;Destinace="Rusko - Bee,MTS,Mega levně"
;Destinace="Rusko - mobil Abcházie A-m, Aquafon"
;Destinace="Turecko - mobil Avea, Turkcell, Vodafone"
Pokud tedy vas vypis hovoru obsahuje hovor z nektere zde uvedene zeme (napr. Rakousko), tak je treba v INI souboru u dane zeme smazat ten strednik na zacatku radku (neboli odkomentarovat dany radek).
Vsechny zeme nejsou odkomentarovane z duvodu optimalizace/neefektivity, pak by totiz nacitani trvalo prilis dlouho.

To, ze CSV vypisy obsahuji v poli Destinace zcela zbytecne i carku, ktera je zaroven oddelovacem udaju, to je problem na ktery jsem upozornoval zde http://forum.odorik.cz/viewtopic.php?f=7&t=1343 jiz davno a bohuzel moje prosba o napravu ze strany Odorika nebyla tehdy vyslysena. Z hlediska obecne syntaxe CSV je to sice spravne, ale z hlediska komplikovanosti pro nasledne zpracovani/parsing je to spatne. Rozdelit radek CSV podle carek na jednotlive udaje je trivialni, ale pokud jednotlive udaje obsahuji take carku, pak je to bohuzel hodne komplikovane. Jak pisu i v mem popisu, tak do nektere pristi verze planuji ten parsing udelat obecne pomoci regularnich vyrazu a pak uz nebude nutne mit v INI souboru definici techto vyjimek.
Co je v plánu možná dodělat:
----------------------------
- ošetřit parsing CSV s údaji v uvozovkách obsahujícími čárku (oddělovač) pomocí regulárních výrazů, INI:[DestinaceSCarkou]
Tlacili jste na me na co nejrychlejsi vypusteni jeste nedokoncene verze, takze i toto je jeden z dusledku.
Ale na druhou stranu, pokud byste cetli prilozeny detailni TXT popis, kde jasne popisuji dana omezeni a limity teto aplikace, tak tento problem by nebyl.
helmut.niederman
Příspěvky: 1012
Registrován: stř 10. črc 2013 21:40:28

Re: Odorik Součty

Příspěvek od helmut.niederman »

Děkuji za pomoc, bohužel jsem zjistil a trvalo mi to dlouho, že nepomohlo smazat ten středník na začátku řádku, ale musel jsem odmezerníkovat pomlčku za písmenem o za slovem Rakousko
Takže to vypadá takto viz screenshot a červený kroužek. Teď už mi to fahčí.
odorik_soucty.ini.JPG
odorik_soucty.ini.JPG (85.42 KiB) Zobrazeno 10370 x
Ještě nerozumím této nápovědě

Kód: Vybrat vše

Jako vstupní parametr (příkazové řádky) lze zadat INI soubor,
jiný INI soubor je vhodný např. pro zobrazení součtů jiné linky nebo jiného účtu s jiným API jménem/heslem.
Pokud není INI zadán použije se stejné jméno jako je jméno EXE souboru, ale s příponou INI.
INI soubor na příkazové řádce musí být uveden bez cesty a musí být ve stejném adresáři jako EXE soubor.
To znamená, jak to mám udělat ,pokud mám dejme tomu tři Odorik účty a všechny by měli mít INI soubor ? Jak to udělat ?
Například *300116.ini, *300117.ini, *300118.ini ? Nebo to musí být vždy odorik_soucty.ini ? A jak do toho jednoho INI soubor narvu tři účty odorik abych nemusel pokaždé v souboru odorik_soucty.ini mazat a dávat tam jiné API ? Je to docela pracné.
Nebo tomu mám rozumět tak, že pokud mám tři odorik účty tak musím odorik_soucty.exe mít v adresáři zkopírované a pojmenované jako *300116.exe, *300117.exe a *300118.exe a k nim pak ty INI soubory a tak mi to bude fungovat ? Rozumím tomu správně ?
Uživatelský avatar
Zedna
Příspěvky: 736
Registrován: stř 04. dub 2012 0:57:53

Re: Odorik Součty

Příspěvek od Zedna »

helmut.niederman píše:Děkuji za pomoc, bohužel jsem zjistil a trvalo mi to dlouho, že nepomohlo smazat ten středník na začátku řádku, ale musel jsem odmezerníkovat pomlčku za písmenem o za slovem Rakousko
Takže to vypadá takto viz screenshot a červený kroužek. Teď už mi to fahčí.
Ty nazvy destinaci s carkou jsem "naslepo" zkopiroval (predpripravil) z weboveho ceniku:
http://www.odorik.cz/ceny.html?cenikFiltr=R
Presny tvar ale musi odpovidat obsahu destinace v tom stazenem CSV souboru, tedy tomu, co je vypsano v te chybove hlasce o chybne strukture CSV.
Jsem rad, ze uz to jede.
Uživatelský avatar
Zedna
Příspěvky: 736
Registrován: stř 04. dub 2012 0:57:53

Re: Odorik Součty

Příspěvek od Zedna »

helmut.niederman píše: Ještě nerozumím této nápovědě

Kód: Vybrat vše

Jako vstupní parametr (příkazové řádky) lze zadat INI soubor,
jiný INI soubor je vhodný např. pro zobrazení součtů jiné linky nebo jiného účtu s jiným API jménem/heslem.
Pokud není INI zadán použije se stejné jméno jako je jméno EXE souboru, ale s příponou INI.
INI soubor na příkazové řádce musí být uveden bez cesty a musí být ve stejném adresáři jako EXE soubor.
To znamená, jak to mám udělat ,pokud mám dejme tomu tři Odorik účty a všechny by měli mít INI soubor ? Jak to udělat ?
Například *300116.ini, *300117.ini, *300118.ini ? Nebo to musí být vždy odorik_soucty.ini ? A jak do toho jednoho INI soubor narvu tři účty odorik abych nemusel pokaždé v souboru odorik_soucty.ini mazat a dávat tam jiné API ? Je to docela pracné.
Nebo tomu mám rozumět tak, že pokud mám tři odorik účty tak musím odorik_soucty.exe mít v adresáři zkopírované a pojmenované jako *300116.exe, *300117.exe a *300118.exe a k nim pak ty INI soubory a tak mi to bude fungovat ? Rozumím tomu správně ?
V mem TXT popisu pisu nasledujici:
Co není dodělané ve verzi 0.9
-----------------------------
- jako vstupní parametr (příkazové řádky) zatím nelze zadat INI soubor (zatím natvrdo stejný název INI jako EXE)
Pokud tedy chcete zobrazovat udaje z vice uctu, pak nyni ve verzi 0.9 me aplikace musite udelat kopii celeho adresare, tzn. odorik_soucty.exe i odorik_soucty.ini zkopirovat do jineho adresare a v nem pak upravit v INI souboru API jmeno,heslo na tu jinou linku. Kazda linka se pak bude spoustet samostatnou kopii EXE souboru z jineho adresare a ke kazdemu EXE musi byt v tom stejnem adresari INI soubor se stejnym jmenem jako ma ten EXE, ale s priponou INI (odorik_soucty.ini).

V pristi verzi, az dodelam tu podporu vice INI souboru bude stacit v tom adresari, kde je EXE soubor (odorik_soucty.exe) vytvorit nekolik kopii INI souboru, ty si pojmenovat libovolne a v kazde z techto kopii zadat API jmeno,heslo jine linky a pak se bude spoustet ten jediny EXE soubor a na prikazove radce se mu jako parametr zada prislusny INI soubor, z nehoz si bude brat nastaveni, vcetne API jmena,hesla. Takze pak bude mozne si vytvorit nekolik zastupcu nebo davkovych souboru, kde kazdy z nich bude ten EXE soubor volat s jinym INI parametrem. Toto ale jeste neni implementovano, protoze je tam treba osetrit moznost zadavani i dalsich parametru, tedy napriklad parametr INI + parametr /kontakty nebo /kredit.
MaT
Příspěvky: 364
Registrován: pát 29. bře 2013 14:35:14

Re: Odorik Součty

Příspěvek od MaT »

Ty čárka v CSV - ony tam můžou být, pokud je pak celá hodnota v uvozovkách (nebo v nějakém jiném "quote" znaku). U Odorika je to v tom CSV jak? Pokud hodnoty s čárkami dávají do uvozovek, tak celkem není co řešit. Pokud ne, tak je to ze strany Odorika opravdu chyba.

V čem přesně je ten program Odorik Součty napsaný? Já si sice už taky mnohokrát psal parsery na různé formáty, párkrát i na CSV - ale pak jsem se na to vykašlal a používám raději knihovny, které toto za mne řeší. Právě třeba i to, když je přímo v hodnotě znak, který zároveň odděluje sloupce. Třeba v Pythonu nebo PHP tohle není problém...

Je sice zajímavé si takový parser zkusit někdy napsat - člověk se tím leccos naučí - ale pak právě člověk dospěje k tomu, že vynalézat znovu kolo nemusí být úplně nejefektivnější přístup, pokud už se jen neučí programovat, ale snaží se i i nějak pracovat. :-)
Uživatelský avatar
Zedna
Příspěvky: 736
Registrován: stř 04. dub 2012 0:57:53

Re: Odorik Součty

Příspěvek od Zedna »

@MaT

Odkaz na to vlakno o carce v CSV u Odorika jsem zde uz daval, ale zopakuji ti ho klidne znovu:
http://forum.odorik.cz/viewtopic.php?f=7&t=1343

Moje aplikace je napsana v programovacim jazyku AutoIt
http://www.autoitscript.com/autoit3/
Tam zadne CSV knihovny nejsou. Je nutne si napsat regularni vyraz pro parsing CSV.
Ja nejsem zadny velky expert v RegExp, ale nastesti na foru AutoItu je k dispozici par temat o CSV a RegExp, uz jsem si vcera neco zkousel na testovacim skriptu a vypada to celkem dobre/nadejne, zrejme brzy vydam novou verzi me aplikace "Odorik Soucty", kde uz nebudou treba ty vyjimky pro destinace s carkou v INI, prosim tedy o trpelivost ...
Odpovědět