Почетак › Форуми › Линукс › Програмирање › Pomoc oko editovanja screenlet-a RSS
- This topic has 3 одговора, 2 гласа, and was last updated 19 years, 1 month раније by
sysctl.
-
АуторЧланци
-
9. август 2007. у 12:22 pm #8990
nucleuswizard
УчесникPosto sam instalirao screenlets postavio sam i RSS ali RSS nece da menja vesti sam vec moram ici na desni klik pa onda izabrati next item.Pa je moje pitanje posto je napisan u python-u ciju sintaksu ne poznajem najbolje,koja je komanda da mi automatski ide na narednu vest na primer u periodu od 30 sec.???
Trenutno stojiif id==”prev_item”:
self.feed_number = self.feed_number + 1
self.refresh_feed()
if id==”next_item”:
self.feed_number = self.feed_number – 1
self.refresh_feed()Znaci kada ja otvorim meni i stisnem dugme Next Item on ide na next_item,a ja zelim da on to radi automatski
9. август 2007. у 6:18 pm #59291sysctl
УчесникI ja koristim screenlets 😀 U svakom slucaju resio sam problem. Objasnjenje sledi. Znaci editujemo [tt]/usr/share/screenlets/Rss/RssScreenlet.py[/tt]. Prvo pronadji “konstruktor” znaci liniju sa [tt]def __init …[/tt] i na kraj metoda ispod [tt]self.update_interval = self.update_interval[/tt] dodaj sledece:
[code]
self.__timeout = gobject.timeout_add(5000, self.cycle_feeds)
self.save_feed_count=None
self.cycle_feeds()
[/code]pazi da lepo identujes (uvuces linije) jer je python osetljiv na whitespace/tab razmake, konkretno, poravnaj ih sa linijom iznad [tt]self.update_interval = self.update_interval[/tt]
Zatim je potrebno izmeniti get_feed metod, kao pretposlednju liniju dodaj ovo
[code]
self.save_feed_count = len(f[‘entries’])
[/code]odnosno citav get_feed metod bi trebalo da izgleda ovako
[code]def get_feed(self):
“””Get the summary and title of the selected feed”””
url = str(self.feed_url)
f = feedparser.parse(url)
#Get the summary of the newest item (0)
self.save_feed_count = len(f[‘entries’])
return f[‘entries’][self.feed_number][‘title’] + “nn” +
f[‘entries’][self.feed_number][‘summary’][/code]
i na kraju iznad [tt]if __name__ == “__main__”:[/tt] linije i komentara dodaj sledeci metod
[code]
def cycle_feeds(self):
if self.save_feed_count == None:
self.save_feed_count = self.feed_number
else:
if self.feed_number < 0:
self.feed_number = self.save_feed_countself.feed_number = self.feed_number – 1
self.refresh_feed()
return True[/code]
Ponovo pazi da dobro identujes kod, znaci blok koda [tt]def cycle_feeds(self):[/tt] mora biti poravnat po istoj osi sa prethodnom funkcijom [tt]def set_feed(self, name, url):[/tt]
Ako ne uspes da izvrsis izmene, posalji odgovor i dacu ti sadrzaj citavog fajla.
pozz 😀
9. август 2007. у 8:01 pm #59292nucleuswizard
УчесникHvala ti puno,uspeo sam iz prve ali me zanima gde si naucio ovako python posto me mnogo zanima a i ovo sto si mi poslao bilo je samo copy-paste a bas bih zeleo da naucim 😎 😎 😎 😎 😎 😎 :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin:
10. август 2007. у 9:42 pm #59293sysctl
УчесникPython sam naucio silom prilika. Prvo sam mislio da je to jos jedan “kiddie” skript jezik, ali sam se prevario. O kako sam se prevario. 😀 Necu vise da davim.
Najbolji resurs za ucenje je oficijelna python dokumentacija koja dolazi uz program. Kada se malo uhodas, potrazi Byte of python PDF. Moze se preuzeti besplatno sa sajta autora. Zatim Thinkin in python, a zatim u zavisnosti od interesovanja.
Da ne zaboravim i NASA koristi python. 😀 😀
-
АуторЧланци
Мораш бити пријављен да би поставио коментар у овој теми.