Ahogy ígértem már itt is a Google Reader olvasatlan feed értesítő Python szkript Conky-hoz. A korábbi verziót nem én írtam és nem is teljesen arra célra való, amire használtam, így inkább megírtam egy újabb változatot, ami a méréseim szerint majdnem kétszer olyan gyors, és 20%-al kevesebb erőforrást is használ működéséhez. Ráadásul így nem kell jelszót beírni a Conky konfigurációs fájlba, ami biztonságosabb is.
A szkript működéséhez szükség lesz a python-requests csomagra, tehát telepítsük:
$ sudo apt-get install python-requests
Telepítése nagyon hasonlít az előző cikkben szereplő szkripthez, hozzunk létre egy futtatható szkriptfájlt:
$ mkdir -p ~/.scripts $ touch ~/.scripts/rssToConky.py $ chmod +x ~/.scripts/rssToConky.py $ gedit ~/.scripts/rssToConky.py
A megnyíló Gedit szerkesztőbe pedig másoljuk be a következő kódot:
#!/usr/bin/env python | |
# -*- coding: utf-8 -*- | |
# Milán Unicsovics, u.milan at gmail dot com | |
# usage: ./rssToConky.py | |
# writes out the count of unread RSS feeds from The Old Reader (http://theoldreader.com/) | |
import requests | |
import json | |
def main(): | |
try: | |
user = 'EMAILADDRESS' | |
password = 'PASSWORD' | |
session = requests.Session() | |
# login | |
data = {'user[email]': user, 'user[password]': password} | |
session.post('http://theoldreader.com/users/sign_in', data = data, timeout = 5) | |
# get feeds | |
response = session.get('http://theoldreader.com/feeds/counts.json', timeout = 5) | |
feeds = json.loads(response.text)['feeds'][0]['feeds'] | |
unread = 0 | |
for feed in feeds: | |
unread += int(feed['unread_count']) | |
print(unread) | |
except requests.exceptions.Timeout: | |
print(0) | |
if __name__ == '__main__': | |
main() |
Természetesen az emailcím és a jelszó mezőket ki kell tölteni. Ha mindez megvan akkor ugyanúgy lehet felhasználni, mint a korábbi változatot, egy lehetséges példa:
You have ${texeci 300 ~/.scripts/rssToConky.py} unread feed(s).
Az eredményről screenshotot az előző cikkben láthattok. :)
Update: A szkriptet időközben átírtam Python3-ra, így szükség van egy >3.x verzió telepítésére, amihez a pyenv eszközt ajánlom.
Nincsenek megjegyzések:
Megjegyzés küldése