def get(self, *args, **kwargs):
     ''' Optionally order by argument; defaults to date/time '''
     order = self.get_argument('order_by', '').lower()
     if order == 'prize':
         sheep = WallOfSheep.all_order_value()
     elif order == 'length':
         sheep = sorted(WallOfSheep.all())
     else:
         sheep = WallOfSheep.all_order_created()
     leaderboard = WallOfSheep.leaderboard()
     self.render('scoreboard/wall_of_sheep.html',
                 leaderboard=leaderboard,
                 flock=sheep)
예제 #2
0
 def get(self, *args, **kwargs):
     ''' Optionally order by argument; defaults to date/time '''
     if not options.hide_scoreboard and (options.public_scoreboard
                                         or self.get_current_user()):
         order = self.get_argument('order_by', '').lower()
         if order == 'prize':
             sheep = WallOfSheep.all_order_value()
         elif order == 'length':
             sheep = sorted(WallOfSheep.all())
         else:
             sheep = WallOfSheep.all_order_created()
         leaderboard = WallOfSheep.leaderboard()
         self.render('scoreboard/wall_of_sheep.html',
                     leaderboard=leaderboard,
                     flock=sheep)
     else:
         self.render('public/404.html')
예제 #3
0
 def get(self, *args, **kwargs):
     """ Optionally order by argument; defaults to date/time """
     user = self.get_current_user()
     if scoreboard_visible(user):
         order = self.get_argument("order_by", "").lower()
         if order == "prize":
             sheep = WallOfSheep.all_order_value()
         elif order == "length":
             sheep = sorted(WallOfSheep.all())
         else:
             sheep = WallOfSheep.all_order_created()
         leaderboard = WallOfSheep.leaderboard()
         self.render("scoreboard/wall_of_sheep.html",
                     leaderboard=leaderboard,
                     flock=sheep)
     elif not user:
         self.redirect("/login")
     else:
         self.render("public/404.html")
예제 #4
0
 def get(self, *args, **kwargs):
     ''' Optionally order by argument; defaults to date/time '''
     user = self.get_current_user()
     if scoreboard_visible(user):
         order = self.get_argument('order_by', '').lower()
         if order == 'prize':
             sheep = WallOfSheep.all_order_value()
         elif order == 'length':
             sheep = sorted(WallOfSheep.all())
         else:
             sheep = WallOfSheep.all_order_created()
         leaderboard = WallOfSheep.leaderboard()
         self.render('scoreboard/wall_of_sheep.html',
                     leaderboard=leaderboard,
                     flock=sheep)
     elif not user:
         self.redirect('/login')
     else:
         self.render('public/404.html')
예제 #5
0
 def theft(self, victim, destination, amount, preimage):
     """ Successfully cracked a password """
     victim.team.money -= abs(amount)
     value = int(abs(amount) * 0.85)
     destination.money += value
     self.dbsession.add(destination)
     self.dbsession.add(victim.team)
     user = self.get_current_user()
     sheep = WallOfSheep(
         preimage=str(preimage), cracker_id=user.id, victim_id=victim.id, value=value
     )
     self.dbsession.add(sheep)
     self.dbsession.commit()
     self.event_manager.cracked_password(user, victim, preimage, value)
     return value
예제 #6
0
 def theft(self, victim, destination, amount, preimage):
     ''' Successfully cracked a password '''
     victim.team.money -= abs(amount)
     value = int(abs(amount) * 0.85)
     destination.money += value
     self.dbsession.add(destination)
     self.dbsession.add(victim.team)
     user = self.get_current_user()
     sheep = WallOfSheep(
         preimage=unicode(preimage),
         cracker_id=user.id,
         victim_id=victim.id,
         value=value,
     )
     self.dbsession.add(sheep)
     self.dbsession.commit()
     event1, event2 = self.event_manager.create_cracked_password_events(
         user, victim, preimage, value)
     self.new_events.append(event1)
     self.new_events.append(event2)
     return value