Example #1
0
 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"))