воскресенье, 22 января 2017 г.

Screensaver with the weather, currency exchange rates and news

Случайно нашел такую вещь как Posphor. phosphor - simulates an old terminal with long-sustain phosphor



Быстро набросал скрипт

import os
import requests
from lxml import html
from lxml import etree
import time
import datetime

t = datetime.datetime(10, 10, 10)

while True:
    if t < datetime.datetime.today() - datetime.timedelta(minutes=15):
        t = datetime.datetime.today()
        pw = html.fromstring(requests.get('https://sinoptik.ua/').text)
        pc = etree.XML(requests.get(
            'https://api.privatbank.ua/p24api/pubinfo?exchange&coursid=5'
            ).text.encode('utf-8'))
        pn = html.fromstring(
            requests.get('http://www.opennet.ru/opennews/index.shtml').text)
        dt = datetime.datetime.now().strftime('%d.%m.%Y')
    cur = pw.xpath('//td[contains(@class, "cur")]')
    print u'Погода'.encode('koi8-r'), cur[0].text, '[sinoptik.ua]\n'
    print cur[1].xpath('div')[0].get('title').encode('koi8-r')
    print u'%s\t%s'.encode('koi8-r') % (
        u'Температура:'.encode('koi8-r'),
        pw.xpath('//p[@class="today-temp"]')[0].text.encode('koi8-r'))
    print '%s\t\t%s' % (
        u'Ветер:'.encode('koi8-r'),
        cur[6].xpath('div')[0].get('data-tooltip').encode('koi8-r'))
    print '%s\t%s%s' % (
        u'Давление:'.encode('koi8-r'), cur[4].text.encode('koi8-r'),
        u'мм'.encode('koi8-r'))
    print '%s\t%s%%' % (
        u'Влажность:'.encode('koi8-r'), cur[5].text.encode('koi8-r'))

    time.sleep(30)
    os.system('clear')

    e = pc.findall('row/exchangerate')
    print u'Курс валют [ПриватБанк]\n'.encode('koi8-r')
    print u'USD: %s\t%s'.encode('koi8-r') % (
        e[2].get('buy').encode('koi8-r'), e[2].get('sale').encode('koi8-r'))
    print u'EUR: %s\t%s'.encode('koi8-r') % (
        e[0].get('buy').encode('koi8-r'), e[0].get('sale').encode('koi8-r'))
    print u'RUR: %s\t%s'.encode('koi8-r') % (
        e[1].get('buy').encode('koi8-r'), e[1].get('sale').encode('koi8-r'))
    print u'BCD: %s\t%s'.encode('koi8-r') % (
        e[3].get('buy').encode('koi8-r'), e[3].get('sale').encode('koi8-r'))

    time.sleep(30)
    os.system('clear')

    for i in pn.xpath('//table[@class="ttxt"]/tr'):
        if i.xpath('td[@class="tdate" and text()="%s"]' % dt):
            print u'Новости [OpenNet.ru]\n'.encode('koi8-r')
            print i[2][0].text.encode('koi8-r')
            print i.getnext()[1].text.encode(
                'koi8-r')[:510].strip() + u'...'.encode('koi8-r')
            time.sleep(30)
            os.system('clear')

И в настройках фосфора указал:

phosphor -root -program 'python /home/andrey/ph.py' -font '-*-*-*-*-*-*-12-*-*-*-*-*-koi8-r' -scale 4
где /home/andrey/ph.py это путь к скрипту.
И результат видно на видео.

Комментариев нет:

Отправить комментарий