Beispiel #1
0
class MetricsUpdater(object):

  def __init__(self):
    self.jogoSlider = JogoSlider()
    self.metricsdbslider = MetricsDBSlider()    

  def update_db_if_needed(self):
    self.total_jogos = self.jogoSlider.get_total_jogos()
    self.last_n_metrics_record_updated = self.metricsdbslider.get_total_records()
    n_missing_metrics_records = self.total_jogos - self.last_n_metrics_record_updated 
    if n_missing_metrics_records < 0:
      error_msg = 'Inconsistent metricsdb size. It is greater than concursos.  Program execution cannot continue.'
      raise IndexError, error_msg
    elif n_missing_metrics_records == 0:
      # nothing to do! Sizes match.
      return
    print 'Need to update %d hist-freq concursos (from %d to %d)' %(n_missing_metrics_records, self.last_n_histfreq_updated, self.total_jogos)
    self.update_histfreqs_from_last_updated()
       
  def update_metricsdb_from_last_updated(self):
    metricsdbs_to_update = []
    for nDoConc in range(self.last_n_metrics_record_updated + 1, self.total_jogos + 1):
      #jogo = self.jogoSlider.get_jogo_by_nDoConc(nDoConc)
      metricsdb = MetricsDB()
      metricsdb.get_metrics_for(nDoConc)
      metricsdbs_to_update.append(metricsdb)
    self.metricsdbslider.update_histfreqs(metricsdbs_to_update)
Beispiel #2
0
 def __init__(self):
   self.jogoSlider = JogoSlider()
   self.metricsdbslider = MetricsDBSlider()