def receiveSMS(): word = request.values.get('Body', '').strip().lower() killers_number = int(request.values.get('From', '')) game = models.Game.GamesByUserNumber[killers_number] users = game.getUsersByNumber() killer = users[killers_number] killer.messages.append(killer.name + ": " + word) if word in utils.WORDS: target = killer.target if word == target.secret_word: killer.kills(target) if len(users) > 2: return utils.sendSMS(killers_number, utils.getPartialCongrats() + " Your new target is: " + killer.target.name) else: for number, user in users.iteritems(): utils.sendSMS(number, "You freakin WON! Now you have the flower powers.") winners = ', '.join(user.name for user in users.values()) for user in game.deadUsers(): utils.sendSMS(user.number, "Loser. Congratulate these bad boys: " + winners) games_to_delete.add(game) return 'ok' return utils.sendRulesSMS(killers_number)
def main(): #main function #read list of all stock stockList = readExcel() #Loop through all, add to topBuyList for item in stockList: print 'Stock is ' + item buyOrSell(item) #find top buy list topBuyList = dict(Counter(buyList).most_common(5)) print 'Top shares to be bought are:' print topBuyList utils.sendSMS('buy ', topBuyList)
def startGame(): global games_to_delete for game in games_to_delete: game.delete() games_to_delete = set() game = models.Game() data = request.values['data'] users = utils.parseUsers(data) bad_users = set() for user in users: if user.isInGame(): utils.sendSMS(user.number, "Dude you are already in a game!") logging.warn("User: {0} {1} is already in a game!".format( user.name, user.number)) bad_users.add(user) else: try: utils.sendSMS(user.number, "Get ready. It's about to get real. " "Your target will be sent shortly!") except twilio.TwilioRestException: logging.warn("User: {0} has an bad number: {1}".format( user.name, user.number)) bad_users.add(user) for bad_user in bad_users: users.remove(bad_user) if len(users) <= 2: message = "Sorry, there are not enough valid players. The game cannot start." for user in users: utils.sendSMS(user.number, message) return message else: for user in users: game.addUser(user) game.assignTargetsAndWords() for user in users: message = ("Welcome to the game, your target is: {0}. " "Your secret word is: {1}".format(user.target.name, user.secret_word)) utils.sendSMS(user.number, message) testing = any(user.number <= 0 for user in users) if testing: return "/test/" + game.name else: return "/games/" + game.name
def kills(killer, target): killer.target = target.target utils.sendSMS(target.number, killer.name + " killed you! You've been removed from the game.. sucker.") target.delete()