Beispiel #1
0
    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']))
Beispiel #2
0
	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']))
Beispiel #3
0
    def put(self):

        msg = {
            'keyword': request.GET['keyword'],
            'content': request.GET['content']
        }
        messages.put(msg)
        return 'Message placed in queue: %s' % msg
Beispiel #4
0
	def put(self):	
		messages.put( { 'keyword': request.GET['keyword'], 
				'content': request.GET['content'] } )
		return 'Message placed in queue: %s' % request.GET['content']