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 így.
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 | |
import urllib | |
import urllib2 | |
import xml.etree.ElementTree as ET | |
def main(): | |
username = 'EMAILADDRESS' | |
password = 'PASSWORD' | |
# Authenticate to obtain SID | |
auth_url = 'https://www.google.com/accounts/ClientLogin' | |
auth_req_data = urllib.urlencode({'Email': username, | |
'Passwd': password, | |
'service': 'reader'}) | |
auth_req = urllib2.Request(auth_url, data=auth_req_data) | |
auth_resp = urllib2.urlopen(auth_req) | |
auth_resp_content = auth_resp.read() | |
auth_resp_dict = dict(x.split('=') for x in auth_resp_content.split('\n') if x) | |
auth_token = auth_resp_dict["Auth"] | |
# Create a cookie in the header using the SID | |
header = {} | |
header['Authorization'] = 'GoogleLogin auth=%s' % auth_token | |
reader_base_url = 'http://www.google.com/reader/api/0/unread-count?%s' | |
reader_req_data = urllib.urlencode({'all': 'true', 'output': 'xml'}) | |
reader_url = reader_base_url % (reader_req_data) | |
reader_req = urllib2.Request(reader_url, None, header) | |
reader_resp = urllib2.urlopen(reader_req) | |
reader_resp_content = reader_resp.read() | |
root = ET.fromstring(reader_resp_content) | |
objects = [] | |
if len(root.find('list').findall('object')) == 0: | |
print 0 | |
return | |
for child in root.find('list').findall('object'): | |
objects.append(child) | |
for object in objects: | |
if object.find('string').text.find('/state/com.google/reading-list') != -1: | |
for number in object.findall('number'): | |
if number.get('name') == 'count': | |
print number.text | |
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 python ~/.scripts/rssToConky.py} unread feed(s).
Az eredményről screenshotot az előző cikkben láthattok. :)
Szia. Nagyszerű cikk már alig várom, hogy kipróbálhassam de sajnos nekem Arch Linuxon nem akar a Conky működni.
VálaszTörlésNem tudom beállítani az átlátszó hátteret.
own_window yes
own_window_transparent yes
double_buffer yes
De fekete háttérfogad.
Nem tudnál esetleg segíteni ebben?
szia,
Törlésitt megtalálod a saját conky configfájlomat: https://github.com/thesnapdragon/scripts-configs
(ehhez, hogy szépen jelenjen meg szükség lesz 3 betűtípusra, amiket ingyen le lehet tölteni, itt belinkeltem: http://linuxtutorialok.blogspot.hu/2011/04/ujabb-szebb-conky.html)
amúgy frissítettem a korábbi Google Calendar-os szkriptet, kicsit szépítettem rajta :D
sok sikert a műveletekhez, ha valami kérdés van nyugodtan írj! :)
Letoltottem működik de a háttere ugyancsak fekete maradt.
TörlésValamit kell álítani a rendszerben?
Újabb gond. Mikor a dekstopra kattintok akkor eltűnik a conky és nem hozza vissza az ha fríssitem a conkyrc fájlt.
Törlés- a kattintásra eltűnő conky-t elvileg meg tudod oldani, ha az 'own_window_type'-nál a 'dekstop'-ot 'override'-ra írod át
Törlés- az átlátszóság pedig valamilyen másik probléma lehet. a conky nem használ igazi átlátszóságot: ez pszeudoátlátszóság, a root backgroundképéből vágja ki saját háttérnek a megfelelő részt, és így olyannak tűnik, mintha átlátszó lenne. ha a fenti configom mégse átlátszó valószínűleg nem találja/nincs beállítva a root háttér, ehhez kell egy program (pl a "feh" nevű, ezt telepítsd fel: sudo apt-get install feh)
aztán írd be ebbe a ~/.xinitrc fájlba a következő szkriptet:
#!/bin/sh
sleep 1 && feh --bg-center ~/background.png &
a háttérkép helyét persze rendesen meg kell adni :)
Nekem nem volt .xinitrc fajlom.
TörlésKeszitettem egyet nano-val es beleirtam amit mondtal, de semmi nem tortent
-ha 'desktop', ha 'override' ugyis eltunik, csak a 'normal'-al latszik
hogy történjen valami ahhoz az X-et is újra kell indítani, ha lehet nyomj egy restart-ot és a háttérnek meg kellene javulnia, a háttérkép elérési útvonalát módosítottad a szkriptben?
Törlésha nagyon nem működik az átlátszóság, kis hackeléssel megpróbálhatod igazán átlátszóvá tenni, itt egy leírás róla:
https://wiki.archlinux.org/index.php/Conky#Universal_method_to_enable_true_transparency
igen, normal-lal akkor most nem tűnik el? mert akkor az a jó :)
Megvan a bünős!
TörlésHozzaadtam az own_window_argb_visual yes sort es mukodik.
Most mar johet a finomhangolas. Koszonom a segitseget.
Megemlitem az oldaladat a Conky-rol szolo cikkemben a sajat oldalaman:
http://i-sty.nyarad.ro
Nagyon szepen koszonom a segitsegedet.
Fejlemény. Csak a te scripteddel működik ez.
TörlésProbáltam az eredeti conky script-et modosítani de nem segített.
Szia! Meg tudnád mondani, hogy kell sorkizárttá varázsolni a blogspoton a kommenteket?
VálaszTörlés