def run(self): log.info("Poller started") atexit.register(self.shutdown) while True: history = shelve.open(self.config['poll.history']) feed = feedparser.parse(self.config['rss_feed']) feed.entries.reverse() for entry in feed.entries: if not history.has_key(str(entry.id)) and entry.description: log.debug("New message: %s" % entry.description) msg = {'from': entry.title, 'date': entry.date} result = self.first_word.match(entry.description) if result: if result.group(1).lower() in keyword.keys(): msg['keyword'] = result.group(1).lower() if result.group(2): msg['content'] = result.group(2) else: msg['content'] = result.group(1) else: msg['content'] = entry.description msg['keyword'] = random.choice(keyword.keys()) log.debug("Adding to queue: %s" % msg) messages.put(msg) history[str(entry.id)] = True messages.save() history.close() log.debug("Finished poll. Queue size is %d" % messages.qsize()) time.sleep(float(self.config['poll.interval']))
def run(self): log.info("Poller started") atexit.register(self.shutdown) while True: history = shelve.open(self.config['poll.history']) feed = feedparser.parse(self.config['rss_feed']) feed.entries.reverse() for entry in feed.entries: if not history.has_key(str(entry.id)) and entry.description: log.debug("New message: %s" % entry.description) msg = { 'from': entry.title, 'date': entry.date } result = self.first_word.match(entry.description) if result: if result.group(1).lower() in keyword.keys(): msg['keyword'] = result.group(1).lower() if result.group(2): msg['content'] = 'Thanks ' + self._get_initials(result.group(2)) else: msg['content'] = 'Thanks ' + self._get_initials(entry.description) msg['keyword'] = random.choice(keyword.keys()) log.debug("Adding to queue: %s" % msg) messages.put(msg) history[str(entry.id)] = True messages.save() history.close() log.debug("Finished poll. Queue size is %d" % messages.qsize()) time.sleep(float(self.config['poll.interval']))
def put(self): msg = { 'keyword': request.GET['keyword'], 'content': request.GET['content'] } messages.put(msg) return 'Message placed in queue: %s' % msg
def put(self): messages.put( { 'keyword': request.GET['keyword'], 'content': request.GET['content'] } ) return 'Message placed in queue: %s' % request.GET['content']