class EventHandler(datasift.StreamConsumerEventHandler):	   
 def __init__(self):
  self.db = Connection(config.db_host, config.db_port).production
  self.exp = re.compile('\\$[A-Z]+')
  print TimeSeriesRecorder
  self.timeseries = TimeSeriesRecorder('twitter_volume') 
     
 def on_connect(self, consumer):
  print 'Connected'
  print ' '

 def on_interaction(self, consumer, interaction, hash):
  print '.',
  interaction['_id'] = interaction['interaction']['id']
  interaction['time_stamp'] = datetime.datetime.now()
  interaction['tickers'] = [ticker[1:] for ticker in self.exp.findall(interaction['interaction']['content'])] 
  self.db.tweets.save(interaction)
  for ticker in interaction['tickers']:
    self.timeseries.onSample(ticker,interaction['time_stamp'])
 
 def on_deleted(self, consumer, interaction, hash):
  sys.stdout.write('X')

 def on_warning(self, consumer, message):
  print
  print 'WARN: %s' % (message)

 def on_error(self, consumer, message):
  print
  print 'ERR: %s' % (message)
	
 def on_disconnect(self, consumer):
  print
  print 'Disconnected'
 def __init__(self):
  self.db = Connection(config.db_host, config.db_port).production
  self.exp = re.compile('\\$[A-Z]+')
  print TimeSeriesRecorder
  self.timeseries = TimeSeriesRecorder('twitter_volume')