Курс валют для Conky Colors
В английской раскладке: rehc dfk.n lkz conky colors
В русской раскладке: курс валют для сщтлн сщдщкы
| Рубрика Ubuntu Linux, Программирование | Дата 16-07-2010
5 747 | Оцените статью
8
Вот сделал такую фичу. Информацию берет с сайта Центрального банка РФ.
Как установить Conky читайте тут.
Вы можете попросить помощи на форуме!
В папку home/user/ записываем файл money.php
С таким содержимым. Для верности скачайте архив с нужными файлами. А код мы просто рассмотрим.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | <?php $sock = fopen ('http://www.cbr.ru/', 'r'); if (!$sock){ echo "Ошибка..."; }else{ $html = ''; while (!feof($sock)){ $html .= fgets($sock); } } fclose ($sock); preg_match_all('|target=_blank >с (.*)|Usi', $html, $date); preg_match_all('|<td class="digit" align="right">(.*) </td>|Usi', $html, $now); preg_match_all('|<td class="digit" align="right" nowrap>(.*) |Usi', $html, $tom); $usd[]=preg_replace('|(.*),(.*)|Usi',"$1.$2",$now[1][0]); $usd[]=preg_replace('|(.*),(.*)|Usi',"$1.$2",$tom[1][0]); $eur[]=preg_replace('|(.*),(.*)|Usi',"$1.$2",$now[1][1]); $eur[]=preg_replace('|(.*),(.*)|Usi',"$1.$2",$tom[1][1]); $fh = fopen('mon.txt', "w+"); fwrite($fh, $usd[0]."\n"); fwrite($fh, $usd[1]."\n"); if (($usd[0]-$usd[1])<0) fwrite($fh, "b\n"); else fwrite($fh, "H\n"); fwrite($fh, $eur[0]."\n"); fwrite($fh, $eur[1]."\n"); if (($eur[0]-$eur[1])<0) fwrite($fh, "b\n"); else fwrite($fh, "H\n"); fwrite($fh, trim($date[1][0])."\n"); fwrite($fh, $date[1][1]."\n"); fclose($fh); ?> |
А в файл .conkyrc вписываем
1 2 3 4 5 6 7 | ${execi 3600 php money.php}${font Liberation Sans:style=Bold:size=8}КУРС ВАЛЮТ $stippled_hr${font} ${color0}${voffset 6}${font Sans:size=19}${execi 3600 echo $}${font}${color}${goto 32}${voffset -10}${execi 3600 cat mon.txt | head -n7 | tail -n1} --- ${font Liberation Sans:style=Bold:size=8}${color1}${execi 3600 cat mon.txt | head -n1 | tail -n1}${color}${font} ${goto 32}${execi 3600 cat mon.txt | head -n8 | tail -n1} --- ${font Liberation Sans:style=Bold:size=8}${color1}${execi 3600 cat mon.txt | head -n2 | tail -n1}${color}${font} ${color0}${goto 160}${voffset -24}${font Arrows:size=19}${execi 3600 cat mon.txt | head -n3 | tail -n1}${font} ${color0}${voffset 6}${font Sans:size=19}€${font}${color}${goto 32}${voffset -10}${execi 3600 cat mon.txt | head -n7 | tail -n1} --- ${font Liberation Sans:style=Bold:size=8}${color1}${execi 3600 cat mon.txt | head -n4 | tail -n1}${color}${font} ${goto 32}${execi 3600 cat mon.txt | head -n8 | tail -n1} --- ${font Liberation Sans:style=Bold:size=8}${color1}${execi 3600 cat mon.txt | head -n5 | tail -n1}${color}${font} ${color0}${goto 160}${voffset -24}${font Arrows:size=19}${execi 3600 cat mon.txt | head -n6 | tail -n1}${font} |
Этот способ будет работать только при установленном PHP.
1 | sudo apt-get install php5 |
Если у вас скрипт не заработает обязательно пишите сюда, будем исправлять.
Еще тебе может понравиться Rss-грабер для Conky Colors. Ubuntu 10.


[...] в системе при этом не открывая кучи ненужных окон. (Например курс валют) Вот собственно Conky Colors для этого и создан. Так вот в [...]
Собсвенно conky не хочет показывать никакие валюты. Обрабатывает money.php с ошибками.
Все должно работать попробуйте переустановить php
sudo apt-get install php5-common php5 php5-cli php5-cgi
Вот теперь я нашел ошибку. Это из за Вордпресса некоторые символы заменились мнемониками, да и сайт с которого я грабил валюту, слегка изменили. Все исправил, теперь работает. Скачайте архив с файлами.
[...] вы можете установить Курс Валют Для Conky Colors. VK.Widgets.Like("vk_like", {width: "496"}); new Ya.share({ 'element': 'ya_share1', [...]
На http://www.cbr.ru/ есть также курс золота. Можно ли это так же прикрутить в скрипт?
Да, можно, нужно только изменить регулярные выражения немножко.
Работает отлично!
Скажите, а нельзя ли добавить другие валюты? Китайский юань, например? И как это сделать?
Спасибо.