Gnome panel applet za citanje RSS feed-a tv programa

Pozdrav,

Posto smatram panel applete jednim strasno korisnim stvarcicama (koliko je trebalo samo microsoftu da skuzi koliko vrijede, cini mi se tek od Viste su poceli nesto malo sa widgetima a tek win7 sa novim taskbarom ima mogucnost razvoja necega sto bi se moglo nazvati panel applet).

Htio sam da se malo poigram sa panel appletima i napravim jedan da bih naucio kako to sve radi, nazalost dokumentacije je poprilicno malo ali sa nekoliko raznih lokacija moze se sastaviti nesto korisno (planiram cijeli tutorial kako pisati panel applete postaviti na wiki da ovdje ne davim)

Izbor je pao na python i pygtk 2.0… python zbog toga sto sam ujedno u fazi pythona iako se recimo panel applet moze pisati u C, C++, Mono(C#) u name it… prakticno princip je isti za sve ali opet o tome vise u tutorialu koji spremam.

Applet koji sam napravio je scroller i prikazuje RSS feed stranice tvprofil.net prikazujuci na panelu za svaki program sta je trenutno i sta slijedi i mijenjajuci to svake 3 sekunde.
Trenutno prikazuje samo program za HRT1, HRT2, HR RTL, NOVA TV… mada je veoma jednostavno dodati i sve ostale ali to ostavljam za nastavak. Za sada je ovo samo prototip i verzija 0.01

Applet se dodaje kao i svaki drugi…znaci desni klik na panel Add to Panel… i odaberete applet Scroller sa liste.

Ako prevucete misa preko appleta dok radi dobicete kompletnu listu programa u tooltip-u ali nazalost taj dio jos uvijek nije zavrsen posto u pygtk-u je izgleda nemoguce ubaciti scrollbar u tooltip bez ekstenzivnih modifikacija tog widgeta tako da to planiram za buducnost kao i jos neke stvari tipa nekog alarma koji bi upozoravao na pocetak neke emisije (hvala adioe3 na ideji) pa linkova da se mogu otvoriti informacije o filmu, seriji, emisiji ako postoje itd…

Ako gledate kod, posto je ovo tek prototip nema jos komentara tako da je malo tezak za citati. Vjerovatno neke stvari su mogle bolje… neki algoritmi tipa za izracunavanje sta je trenutno na tv-u je vjerovatno mogao biti efikasniji ali opet kazem posto je tek u fazi prototipa bitno mi je bilo da radi bez problema.

Ako zelite probati aplet mozete skinuti ovdje:

http://listener.com.ba/thepage/progs/scroller/scroller.tar.gz

Princip instalacije je jednostavan:

  • untar… i dobicete folder scroller

  • u folderu su 3 fajla: install.sh, scroller.server i test1.py

kucajte:

i to je to…

Install skripta ce kopirati fajlove na odgovarajuce lokacije tj:

/usr/lib/bonobo/servers/scroller.server
/usr/local/bin/test1.py

Jedino sto vam ostaje restart gnome-a, logout i login su dovoljni npr.

EDIT: Tutorial je zavrsen i nalazi se na http://start.linux.org.ba/GNOME_Panel_applet_HOWTO

EDIT: Applet je doradjen sada prikazuje i sve nase programe takodjer popravljeni su neki problemi oko racunanja vremena… download lokacija je updateovana

Odlicno. Super bi bilo ako bi napravio tutorial, meni bi bilo dovoljno samo da linkas stranice sa kojih si citao.

Svaka cast. Mozda da probas i sa ovim novim Ubuntu Indicator Appletom. Mislim da ce Ubuntu sada ici u tom smjeru. A implementacija nije teska, mozes pogledati na ovom linku za python:

https://wiki.ubuntu.com/DesktopExperienceTeam/ApplicationIndicators#Python version

Btw, ja mislim da moras samo restartovati gnome-panel. Ne mora cijeli gnome.

Hvala, pogledao sam indicator je super… i full je jednostavan za iskoristiti… ali ako zelim da stavim scrollbar ili neki tabovani sistem u notifikaciju vjerovatno cu morati kreirati svoj widget od pocetka da bih mogao iscrtati sve sto hocu jer nisam pronasao da se moze takvo sta raditi sa klasicnom notifikacijom ali i dalje trazim jer je kvalitetne dokumentacije poprilicno malo.

Mislis na Ubuntu Notification System, na ove balone? Mislim da moze slika aplikacije, naslov, i tekst ispod. Zamisljen je da bude bas onako minimalan.

ma da ubuntu OSD, jednostavan i ok je za neka obavijestenja. Po svemu do sada moram pisati svoj widget od temelja da bih dobio ono sto meni treba…

Odlicna stvar ! , Koristim ga neko vrijeme, samo sto od ovih ponudjenih kanala mogu gledat samo OBN , kako mogu izmijeniti da postavim kanale koje ja zelim ?? Hvala.

Kanali se parsaju sa ove lokacije

http://tvprofil.net/rssinfo

tu je lista rss feed-ova, za sada sam uzeo program hrvatske i program bih…

Postoji i opcija da se logiras i napravis svoj rss feed sa programima koji te interesuju pa bi onda se program morao malo prilagoditi.

Koji tacno programi te interesuju?

Ako je neki od ovih vec predefinisanih grupa rss feed-ova onda jednostavnim dodavanjem url-a se mogu dodati novi programi…

ovako, ja sam vec nesto preuredio , umjesto htvatskih dodao sam samo bosanske kanale, tj. promijenio sam linkove u fajlu test1.py (stavio na oba mjesta da cita samo bosanske,bilo bi pozeljno da se moze napravit lista samo koji su dostupni na mom TV-u da njih i prikazuje) :

def refresh(self): adrese = [] adrese.append('http://tvprofil.net/rss.php?g=1') adrese.append('http://tvprofil.net/rss.php?g=1') self.citac.runit(adrese)

Ako zelis samo bh kanale ne moras mijenjati prvi red vec ga mozes cijelog obrisati, znaci ostavi samo jednu liniju sa adresom i to je to.

Sto se tice odabira specificnih kanala malo sam cackao i nasao rijesenje…

Ako zelis da sam odaberes kanale koji ce se prikazivati, potrebno je prvo da se registrujes na stranici http://tvprofil.net

  • nakon registracije na desnom meniju odaberes my channels gdje ces dobiti listu kanala i jednostavno oznaci one koji te interesuju
  • kada snimis svoje kanale ovo kreira tvoj rss feed, onda je dovoljno da kliknes na RSS na lijevom meniju i odaberes my channels
    dobices RSS feed kanala koje si odabrao. Dobra stvar je izgleda sto su napravili stranicu tako da se link ka tvom RSS feed-u
    generise i vise nije potreban login da bi mu pristupio, testirao sam ovo sa brisanjem cookies-a, istorije… i opet je radilo.
    znaci dovoljno je da link or RSS feed-a my channels kopiras umijesto ovog linka koji si vec mijenjao i to je to. Dovoljna ti je samo jedna linija.