Hi! I'm trying to write a small adesklet that will read newsfeeds. Here's the code:
# ##################################################################### # fparser.py # # P. Kaminski <[EMAIL PROTECTED]> # Time-stamp: <> ###################################################################### import feedparser import adesklets from os import getenv, spawnlp, P_NOWAIT from os.path import join, dirname class Config(adesklets.ConfigFile): cfg_default = { 'feedsrc' : 'http://slashdot.org/index.rss', 'numfeeds' : 5, 'numlines' : 4 } def __init__(self, id, filename): adesklets.ConfigFile.__init__(self, id, filename) class Events(adesklets.Events_handler): def __init__(self, basedir): if len(basedir)==0: self.basedir='.' else: self.basedir=basedir adesklets.Events_handler.__init__(self) def __del__(self): adesklets.Events_handler.__del__(self) def ready(self): self.config = Config(adesklets.get_id(), join(self.basedir, 'config.txt')) self.feed = self.config['feedsrc'] self.numfeeds = self.config['numfeeds'] self.numlines = self.config['numlines'] self.w = 520 self.h = 12*self.numfeeds*(self.numlines+1) adesklets.window_resize(self.w, self.h) adesklets.window_reset(adesklets.WINDOW_UNMANAGED) adesklets.window_set_transparency(True) adesklets.window_show() def quit(self): print 'Quitting...' def alarm(self): print 'Alarm. Next in 360 seconds.' self._display() return 360 def _display(self): print "Getting feed..." y = 0 x = 0 d = feedparser.parse(self.feed) print d.channel.title print d.channel.description # clear the buffer buffer = adesklets.create_image(self.w, self.h) adesklets.context_set_image(buffer) adesklets.context_set_blend(False) adesklets.context_set_color(0,0,0,0) adesklets.image_fill_rectangle(0,0,self.w,self.h) adesklets.context_set_blend(True) adesklets.context_set_font(adesklets.load_font('Vera/7')) adesklets.context_set_color(255, 0, 0, 255) adesklets.text_draw(0, y, str(d.channel.title)) y+=12 l = len(d.entries) l = min(l, self.numfeeds) for i in range(l): ent=d.entries[i] adesklets.context_set_color(255, 255, 0, 255) adesklets.text_draw(0, y, str(ent.title)) print ent.title y+=12 adesklets.context_set_color(255, 255, 255, 255) for k in range(0, min(len(ent.summary)/100, self.numlines)): print str(ent.summary)[k*100:(k+1)*100] adesklets.text_draw(0, y, str(ent.summary)[k*100:(k +1)*100]) y+=12 adesklets.free_font(0) adesklets.free_image(buffer) Events(dirname(__file__)).pause() Unfortunately, I'm getting this bug for some time now and I just don't know what's going on: File "./fparser.py", line 40 self.w = 520 ^ SyntaxError: invalid syntax Regards, P.K. -- http://mail.python.org/mailman/listinfo/python-list