Exemplo n.º 1
0
def latestkills(server_slug, startat):
  try:
    server = app.config['config'].get_server(server_slug)
  except InvalidServer:
    return redirect(url_for('landing'))
  stats = Results(app.config['config'], server)

  if (startat % 20):
    startat = 0

  def kill_decorate(kill):
    info = kill._asdict()
    info['killer_obj'] = stats.get_player_fields(kill.killer, ['lastcountry'])
    info['victim_obj'] = stats.get_player_fields(kill.victim, ['lastcountry'])
    return info

  data = {
      'page_title': 'Latest Kills',
      'next_url': url_for('latestkills', startat=startat + 20, server_slug=server.url_slug),
      'kills': map(kill_decorate, stats.get_last_kills(startat)),
      'fixdate': lambda x: datetime.utcfromtimestamp(int(x))
  }

  data.update(more_params(stats, server))

  if startat >= 20:
    data['prev_url'] = url_for('latestkills', startat=startat - 20, server_slug=server.url_slug)
  else:
    data['prev_url'] = False

  num_kills = stats.get_num_kills()

  if (startat + 20) > num_kills:
    data['next_url'] = False

  return render_template('latestkills.html', **data)