示例#1
0
    def get(self): # every 1 minute
        feeds = {"nrg": "http://rss.nrg.co.il/newsflash/",
                 "וואלה!": "http://rss.walla.co.il/?w=/1/22/0/@rss",
                 "ynet": "http://www.ynet.co.il/Integration/StoryRss1854.xml",
                 "mako": "http://rcs.mako.co.il/rss/news-israel.xml"}
        
        updates = []

        for name, url in feeds.iteritems():
            for entry in feedparser.parse(url).entries:
                if Update.get_by_key_name(entry.title) is None:
                    entry = Update(key_name=entry.title, 
                           content=utils.force_unicode(entry.title), 
                           date=datetime.datetime.fromtimestamp(time.mktime(entry.date_parsed)),
                           source=utils.force_unicode(name),
                           description=utils.force_unicode(entry.description));
                           
                    entry.put()
                    updates.append(entry)
        
        updates.sort(key=lambda item:item.date, reverse=True)
        
        for client_id in clients:
            try:
                channel.send_message(client_id, utils.updates_to_json(updates))
            except:
                clients.remove(client_id)
示例#2
0
 def get(self):
     
     count = 20
     updates = Update.all().order("-date").fetch(count, int(self.request.get("page")) * count)
     
     self.response.headers['Content-Type'] = 'application/json; charset=utf-8' 
     self.response.out.write(utils.updates_to_json(updates))