class LazarusProducer(Thread):

    def __init__(self, ip_address, topic='OryxInput', port='9092'):
        super(LazarusProducer, self).__init__()
        self.topic = topic  
        self.kafka = KafkaClient(ip_address + ':' + '9092')
        self.producer = SimpleProducer(self.kafka)
        self.energy = CornellEnergyDataset()
        #EnergyDataset()
        self.weather = MetroDataset()

    def _produce(self):
        date, curr_time = self.energy.current_time()
        data = { 'date': date,
                 'time' : curr_time,
                 'energy': self.energy.energy_consumption(),
                 'weather': self.weather.publish_data()} 
#	self.producer.ensure_topic_exists(self.topic)
        response = self.producer.send_messages(self.topic,json.dumps(data))
	print "\n\n"
	print data
	print "\n\n"
        #print response

    def run(self):
        while True:
            time.sleep(1)
            self._produce()
 def __init__(self, ip_address, topic='OryxInput', port='9092'):
     super(LazarusProducer, self).__init__()
     self.topic = topic  
     self.kafka = KafkaClient(ip_address + ':' + '9092')
     self.producer = SimpleProducer(self.kafka)
     self.energy = CornellEnergyDataset()
     #EnergyDataset()
     self.weather = MetroDataset()