Blog (107)
Komentarze (2.3k)
Recenzje (0)
@webnulldpnotify - integracja blogów dobrychprogramów z Linuksowym pulpitem

dpnotify - integracja blogów dobrychprogramów z Linuksowym pulpitem

31.08.2012 | aktual.: 01.09.2012 11:01

Witam, dzisiaj w przeciągu ok. 4 godzin udało mi się wstępnie skonstruować aplikację która monitoruje wybrane wpisy na blogach i wysyła powiadomienia poprzez system notyfikacji w systemach Uniksowych - mowa o libnotify (poprzez notify-send wstępnie).

428856

Strona projektu: github.com/webnull/dpnotify Fanpage: dpnotify na facebooku Twitter: webnull

Program został napisany w Pythonie przy najmniejszym użyciu jakichkolwiek bibliotek dlatego lista jego zależności jest bardzo krótka. No więc aby nasz program nie rozleciał się podczas pieczenia potrzebować będziemy Pythona 2, najlepiej Pythona 2.7. Niestety Python 3 odpada z racji braku stabilnej wersji BeautifulSoup. Na pewno potrzebny będzie SQLite3, GIT, GNU Getopt oraz wymieniony wcześniej BeautifulSoup.

No więc przejdźmy do rzeczy...

Czyli instalacja pakietów zależnościowych w różnych systemach.

Gentoo: Dodatkowo dla Pythona USE="sqlite"

emerge emerge dev-python/beautifulsoup dev-db/sqlite =dev-lang/python-2.7.3 git

Debian/Ubuntu/Linux Mint etc.

apt-get install python python-beautifulsoup sqlite3

Arch Linux:

pacman -S python2 python2-beautifulsoup3 git

Instalujemy aplikację...

cd /tmp/ # przechodzimy do katalogu tymczasowego
git clone git://github.com/webnull/dpnotify.git # pobieramy pliki projektu z systemu kontroli wersji
cd dpnotify
./install.sh

No i... zainstalowane. Może w kiepski sposób bo na razie nie było czasu aby zrobić paczki ale działa i później jak się spakuje aplikację to będzie można instalować aplikację w o wiele łatwiejszy sposób : )

Cieszcie się użytkownicy Linuksa, teraz będziecie z komentarzami na bieżąco! : )

Możecie przykładowo dodać ten wpis i obserwować jak pojawiają się komentarze pod nim. Mogę Was w tym wpisie informować o postępach prac nad aplikacją.

Jak będę mieć czas to postaram się Wam jutro zaimplementować obsługę RSS - dodać powiadomienia o nowych wpisach na blogach, myślę, że nie powinno to być trudnym zadaniem : )

Mała instrukcja użytkowania aplikacji

No więc tak... aplikację napisałem w ok. 4 godziny, nie mniej, nie więcej. Dlatego interfejsu graficznego na razie nie oczekujcie a jako, że to jest tylko demon (serwer) to mogę do tego napisać jakiegoś prostego klienta w QT4. W planach mam także dynamiczną konfigurację aplikacji (tak aby klient edytował plik a serwer go przeładowywał), ale nie wszystko na raz.

Póki co klientem jest serwer sam w sobie, czyli kilka prostych poleceń dostępnych z poziomu tej samej aplikacji.

Lista subskrypcji wszystkich wpisów:

dpnotify --list

Dodanie nowego wpisu do obserwowania:

dpnotify -a http://www.dobreprogramy.pl/webnull/cz-Programowanie-w-Linuksie,35898.html

Usunięcie wpisu:

dpnotify -r http://www.dobreprogramy.pl/webnull/cz-Programowanie-w-Linuksie,35898.html

Uruchomienie aplikacji w trybie cichym (daemon):

dpnotify --daemon

Uruchomienie aplikacji normalnie z pokazaniem wszystkich informacji:

dpnotify

Pomoc:

dpnotify --help

No więc na początku dodajemy sobie jakieś wpisy:

dpnotify -a http://www.dobreprogramy.pl/webnull/cz-Programowanie-w-Linuksie,35898.html

Pierwsze uruchomienie po instalacji

95553
95554

[join][image=dpnotify2]

Pierwsze uruchomienie programu nie wymaga niczego innego jak dodania obserwowanych wpisów do lokalnej bazy danych przy pomocy polecenia dpnotify -a [adres] oraz uruchomienia dpnotify --daemon

Program powinien się "schować" między procesy, można sprawdzić czy działa on w tle wpisując:

ps aux |grep dpnotify

Z początku zobaczymy falę powiadomień przy dodaniu każdego wpisu ale nie martwcie się tym, później nawet jak zrestartujecie program to zapamięta on ustawienia i nie będzie już pokazywać starych komentarzy - używa z bazy danych SQLite3 aby zapamiętywać stare komentarze.

Konfigurację programu możemy edytować ręcznie używając dowolnego edytora tekstowego, np. nano

nano ~/.dpnotify/config

Jeśli jakieś awatary nam się źle wyświetlają można spróbować usunąć lokalną bazę danych z awatarami usuwając katalog ~/.dpnotify/cache

rm ~/.dpnotify/cache -r

W razie jakiejś awarii programu związanej z komentarzami na blogach można także usunąć samą bazę danych SQLite3 która znajduje się w pliku ~/.dpnotify/db_cache.sqlite3

rm ~/.dpnotify/db_cache.sqlite3 -r

Aby zrestartować całą konfigurację programu tak aby utworzył on ją na nowo wystarczy wykonać:

rm ~/.dpnotify -r

Miłego użytkowania aplikacji, błędy proszę zgłaszać najlepiej na githubie a jak nie macie konta to tutaj.

Wybrane dla Ciebie
Komentarze (36)