def savekill(self, eid, killer, victim): try: for k in Event.get(eid).kills: if (k.victim == User.by_user_name(victim)): flash( "Error: %s is already marked as being killed in this event, by %s. If they didn't kill %s, delete that kill first." % (victim, k.killer, victim)) raise redirect(url("/editevent/" + str(eid))) k = Kill(event=Event.get(eid), killer=User.by_user_name(killer), victim=User.by_user_name(victim)) self.updatescores() flash("Kill added!") for l in Kill.select(): if (l.id != k.id): if ((l.victim == k.victim or l.victim == k.killer) and l.event.datetime < k.event.datetime and l.event.datetime >= (k.event.datetime - datetime.timedelta(0, 14400))): flash( "Warning: %s is listed as being killed in the event %s, which was less than four hours before this event." % (l.victim.user_name, str(l.event))) if (l.victim == k.victim and k.event.datetime <= l.event.datetime and k.event.datetime >= (l.event.datetime - datetime.timedelta(0, 14400))): flash( "Warning: %s is listed as dying again in the event %s, which is less than four hours after this event." % (k.victim.user_name, str(l.event))) if (l.killer == k.victim and k.event.datetime < l.event.datetime and k.event.datetime >= (l.event.datetime - datetime.timedelta(0, 14400))): flash( "Warning: %s is listed as killing someone else in the event %s, which is less than four hours after this event." % (k.victim.user_name, str(l.event))) raise redirect(url("/editevent/" + str(eid))) except SQLObjectNotFound: flash("Error: Tried to add a kill to a nonexistent event.") raise redirect(url("/news"))