Portál AbcLinuxu, 4. července 2025 12:23

Kurzy měn v Conky

3.8.2009 16:12 | Přečteno: 1327× | linux | poslední úprava: 3.8.2009 16:12

Conky je výborný nástroj na monitorování svého operačního systému nebo čehokoliv jiného. Dnes si ukážeme, jak do Conky přidat výpis kurzu měn.

Nejprve si vytvoříme pythonovský skript, který načte kurzy měn z webu ČNB a vrátí výstup, kterému bude Conky rozumět.

#!/usr/bin/env python

import urllib

countries = ('EMU', 'USA')
url = 'http://www.cnb.cz/cs/financni_trhy/devizovy_trh/kurzy_devizoveho_trhu/denni_kurz.txt'

fp = urllib.urlopen(url)
lines = fp.readlines()
fp.close()

for line in lines:
        parts = line.split('|')
        if parts[0] in countries:
                print parts[3] + ': ${alignr}' + parts[4].rstrip()

Tento skript uložíme například do souboru /usr/bin/conky-currency a dáme mu právo spuštění pro všechny.

Nyní již pouze změníme konfiguraci Conky, aby informace ze skriptu použilo. Na konec souboru ~/.conkyrc vložíme tyto řádky:

CURRENCIES ${hr 2}
${execpi 36000 conky-currency}

Připojený obrázek obsahuje také úpravy z tohoto návodu.

Skript z pohledu výkonnosti a paměťové náročnosti rozhodně není ideální. Je napsán tak, aby byl snadno čitelný.

       

Hodnocení: 75 %

        špatnédobré        

Obrázky

Kurzy měn v Conky, obrázek 1

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

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

3.8.2009 16:23 Jiří Jakeš | skóre: 22 | blog: Linuxovna_JJ | Taipei
Rozbalit Rozbalit vše Re: Kurzy měn v Conky
Odpovědět | Sbalit | Link | Blokovat | Admin
Díky! Před časem jsem přemýšlel nad podobnou záležitostí, ovšem s daty z http://www.kurzy.cz/kurzy-men/aktualni a s využitím grafíku vývoje (data jsou aktualizována po pěti minutách). Ovšem, nedostal jsem se k tomu, toto přijde také vhod…
stanger avatar 3.8.2009 18:52 stanger | skóre: 18
Rozbalit Rozbalit vše Re: Kurzy měn v Conky
Odpovědět | Sbalit | Link | Blokovat | Admin

Stacilo by to stahnout jednou denne zhruba ve 14.45 jindy kurzy CNB neaktualizuje, nemluve o tom ze treba o videndu se nemusi zmenit vubec ;)

3.8.2009 19:41 Dundee5 | skóre: 17 | blog: Dundee5 | Praha
Rozbalit Rozbalit vše Re: Kurzy měn v Conky
Myslim, ze stahnutim kazdych 10 hodin se nic nestane. Mozna by bylo dokonce lepsi snizit to na 5 hodin, aby uzivatel nemel moc stare informace.
Kdo se vzdá svobody, aby získal jistotu, ztratí nakonec obojí. --Benjamin Franklin
3.8.2009 19:58 M.
Rozbalit Rozbalit vše Re: Kurzy měn v Conky
Ještě tam doplnit ceny benzínu, nafty a nemá to chybu ;-)
Fluttershy, yay! avatar 3.8.2009 20:25 Fluttershy, yay! | skóre: 93 | blog:
Rozbalit Rozbalit vše Re: Kurzy měn v Conky

Není

...jednou denne zhruba ve 14.45 jindy kurzy CNB neaktualizuje...

a

Mozna by bylo dokonce lepsi snizit to na 5 hodin, aby uzivatel nemel moc stare informace.

v rozporu?

🇵🇸Touch grass🇺🇦 ✊ ani boha, ani pána
3.8.2009 21:13 Dundee5 | skóre: 17 | blog: Dundee5 | Praha
Rozbalit Rozbalit vše Re: Kurzy měn v Conky
Ani moc ne. Když to zůstane na těch 10 hodinách, tak se může stát, že Conky aktualizuje v 14:44 a pak až v 00:44, takže uživatel bude mít 10 hodin neakuální informace.

A nastavit v Conky, aby se to aktualizovalo každý den v 15:00 je rozhodně složitější než nechat to holt aktualizovat trochu časteji. Ten jeden GET request nikoho nezabije :)
Kdo se vzdá svobody, aby získal jistotu, ztratí nakonec obojí. --Benjamin Franklin
xxxs avatar 4.8.2009 13:08 xxxs | skóre: 25 | blog: vetvicky
Rozbalit Rozbalit vše Re: Kurzy měn v Conky

preco sa to neriesi cronom? som lama, iba sa pytam.

4.8.2009 15:02 Dundee5 | skóre: 17 | blog: Dundee5 | Praha
Rozbalit Rozbalit vše Re: Kurzy měn v Conky
Protože mi ten výstup ze skriptu potřebujeme předat Conky a ne ho vypsat na obrazovku. Proto je volání toho skriptu součástí přímo konfiguráku Conky.
Kdo se vzdá svobody, aby získal jistotu, ztratí nakonec obojí. --Benjamin Franklin
David Watzke avatar 4.8.2009 15:24 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Kurzy měn v Conky
skript může volat cron a výstup ukládat do souboru, kterej si conky třeba přečte
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
Jan Drábek avatar 3.8.2009 21:34 Jan Drábek | skóre: 41 | blog: Tartar | Brno
Rozbalit Rozbalit vše Re: Kurzy měn v Conky
Odpovědět | Sbalit | Link | Blokovat | Admin

Copak? Obchoduješ na burze nebo jsi jenom posedlý monitorováním ;-)

01010010 01000101 01010000 01101100 01001001 00110010 01000100 01100101 01010110
3.8.2009 21:43 Dundee5 | skóre: 17 | blog: Dundee5 | Praha
Rozbalit Rozbalit vše Re: Kurzy měn v Conky
Docela často přijdu do styku s eury a dolary (placení hostingů, paypal atd.), takže se rychlý a jednoduchý přístup k aktuálním kurzům hodí.
Kdo se vzdá svobody, aby získal jistotu, ztratí nakonec obojí. --Benjamin Franklin
4.8.2009 13:32 Jary | skóre: 30 | blog: Jary má blog | Dům
Rozbalit Rozbalit vše Re: Kurzy měn v Conky
.sig virus 3.2_cz: Prosím, okopírujte tento text do vaší patičky. GitHub
5.8.2009 15:02 M.O.
Rozbalit Rozbalit vše Re: Kurzy měn v Conky
Odpovědět | Sbalit | Link | Blokovat | Admin

Prosim, bylo by mozne zverejnit kompletni konfigurak Conky z toho obrazku? Diky...

11.8.2009 14:05 Dundee5 | skóre: 17 | blog: Dundee5 | Praha
Rozbalit Rozbalit vše Re: Kurzy měn v Conky
use_xft yes
xftfont Liberation Sans:size=8

update_interval 1
total_run_times 0
double_buffer yes
text_buffer_size 1024

own_window yes
own_window_type override
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

minimum_size 185 0
maximum_width 185

default_color white
draw_shades no

color0 white
color1 729FCF
color2 white

alignment top_right
gap_x 25
gap_y 50

no_buffers no
net_avg_samples 2

override_utf8_locale yes

TEXT
SYSTEM ${hr 2}
${voffset 2}${color0}${font OpenLogos:size=16}u${font}${color}   Kernel:  ${alignr}${color2}${kernel}${color}
${color0}${font StyleBats:size=16}A${font}${color}   CPU1: ${color1}${cpu cpu1}%${color} ${alignr}${color2}${cpubar cpu1 8,60}${color}
${color0}${font StyleBats:size=16}A${font}${color}   CPU2: ${color1}${cpu cpu2}%${color} ${alignr}${color2}${cpubar cpu2 8,60}${color}
${color0}${font StyleBats:size=16}g${font}${color}   RAM: ${color1}$memperc%${color} ${alignr}${color2}${membar 8,60}${color}
${color0}${font StyleBats:size=16}j${font}${color}   SWAP: ${color1}$swapperc%${color} ${alignr}${color2}${swapbar 8,60}${color}
${color0}${font StyleBats:size=16}q${font}${color}   Uptime: ${alignr}${color2}${uptime}${color}

DATE ${hr 2}
${alignc 45}${color2}${font Arial Black:size=30}${time %H:%M}${font}${color}
${alignc}${time %A %d %Y}

HD ${hr 2}
${execp ~/.scripts/hd_default.py}

NETWORK ${hr 2}
${if_existing /proc/net/route wlan0}
${voffset -6}${color0}${font PizzaDude Bullets:size=14}O${font}${color}   Up: ${color1}${upspeed wlan0}${color} kb/s ${alignr}${upspeedgraph wlan0 8,60 346Rhythmbox not running}
${voffset 4}${color0}${font PizzaDude Bullets:size=14}U${font}${color}   Down: ${color1}${downspeed wlan0}${color} kb/s ${alignr}${downspeedgraph wlan0 8,60 346Rhythmbox not running}
${voffset 4}${color0}${font PizzaDude Bullets:size=14}N${font}${color}   Upload: ${alignr}${totalup wlan0}
${voffset 4}${color0}${font PizzaDude Bullets:size=14}T${font}${color}   Download: ${alignr}${totaldown wlan0}
${voffset 4}${color0}${font PizzaDude Bullets:size=14}Z${font}${color}   Signal: ${wireless_link_qual wlan0}% ${alignr}${color2}${wireless_link_bar 8,60 wlan0}${color}
${voffset 4}${color0}${font PizzaDude Bullets:size=14}a${font}${color}   Local ip: ${alignr}${color2}${addr wlan0}${color}
${voffset 4}${color0}${font PizzaDude Bullets:size=14}b${font}${color}   Public ip: ${alignr}${color2}${execi 1 ~/.scripts/ip.sh}${color}
${else}${if_existing /proc/net/route eth0}
${voffset -6}${color0}${font PizzaDude Bullets:size=14}O${font}${color}   Up: ${color1}${upspeed eth0}${color} kb/s ${alignr}${upspeedgraph eth0 8,60 346Rhythmbox not running}
${voffset 4}${color0}${font PizzaDude Bullets:size=14}U${font}${color}   Down: ${color1}${downspeed eth0}${color} kb/s ${alignr}${downspeedgraph eth0 8,60 346Rhythmbox not running}
${voffset 4}${color0}${font PizzaDude Bullets:size=14}N${font}${color}   Upload: ${alignr}${color2}${totalup eth0}${color}
${voffset 4}${color0}${font PizzaDude Bullets:size=14}T${font}${color}   Download: ${alignr}${color2}${totaldown eth0}${color}
${voffset 4}${color0}${font PizzaDude Bullets:size=14}a${font}${color}   Local ip: ${alignr}${color2}${addr eth0}${color}
${voffset 4}${color0}${font PizzaDude Bullets:size=14}b${font}${color}   Public ip: ${alignr}${color2}${execi 1 ~/.scripts/ip.sh}${color}
${endif}${else}${if_existing /proc/net/route ppp0}
${voffset -6}${color0}${font PizzaDude Bullets:size=14}O${font}${color}   Up: ${color1}${upspeed ppp0}${color} kb/s ${alignr}${upspeedgraph ppp0 8,60 346Rhythmbox not running}
${voffset 4}${color0}${font PizzaDude Bullets:size=14}U${font}${color}   Down: ${color1}${downspeed ppp0}${color} kb/s ${alignr}${downspeedgraph ppp0 8,60 346Rhythmbox not running}
${voffset 4}${color0}${font PizzaDude Bullets:size=14}N${font}${color}   Upload: ${alignr}${color2}${totalup ppp0}${color}
${voffset 4}${color0}${font PizzaDude Bullets:size=14}T${font}${color}   Download: ${alignr}${color2}${totaldown ppp0}${color}
${voffset 4}${color0}${font PizzaDude Bullets:size=14}a${font}${color}   Local ip: ${alignr}${color2}${addr ppp0}${color}
${endif}${else}${voffset 4}${color0}${font PizzaDude Bullets:size=12}4${font}${color}   Network Unavailable
${endif}
WEATHER ${hr 2}
${if_existing /proc/net/route wlan0}
${execpi 10800 conkyForecast -t ~/.scripts/conkyForecast.template}
${else}${if_existing /proc/net/route eth0}
${execpi 10800 conkyForecast -t ~/.scripts/conkyForecast.template}
${endif}${else}${if_existing /proc/net/route ppp0}
${execpi 10800 conkyForecast -t ~/.scripts/conkyForecast.template}
${endif}${else}${voffset 4}${color0}${font PizzaDude Bullets:size=12}4${font}${color}   Weather Unavailable${endif}
CURRENCIES ${hr 2}
${execpi 36000 /home/dundee/workspace/python/conky-currency.py}
Kdo se vzdá svobody, aby získal jistotu, ztratí nakonec obojí. --Benjamin Franklin

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.