def get_random_card_prepare(request): WINNER = False raridade = None accepted_rarities = ["Common","Uncommon","Rare"] try: raridade = request.POST['rarity'] except: return "Erro###Raridade inválida" if raridade not in accepted_rarities: return "Erro###Raridade inválida" #Get user user = Page_Users.all().filter("email =", request.user.email).get() if user.clicks_total % constants.NUMBER_OCCURRENCES == 0 and user.clicks_total != 0 and constants.WINNERS_ACTIVE: WINNER = True #RETIRAR GUITA AO GAJO #Actualiza o numero de clicks de acordo com raridade #faz reset aos clicks nas seguintes condicoes #rara = 100 -> reset #incomum = 150 -> reset #comum = 150 -> reset user = page_users_utils.change_saldo_user(user,raridade,winner=WINNER) if user == None: return "Erro###Saldo insuficiente para efectuar a compra" #gets card #carta = get_random_card(raridade) carta = prepare_get_random_card(raridade,logica_de_negocio(user,raridade)) #ADD CARTA AND USER TO MODEL COMPRAS!!! compras_historico_utils.add_to_compras(request.user.email,carta) #-1 NO STOCK DA CARTA card_database_utils.decrement_card_stock(carta) #Adiciona cartas ao return if WINNER: toReturn = object_card_to_string(carta,winner=True) else: toReturn = object_card_to_string(carta) #Adiciona novo saldo toReturn = toReturn + "###" + str(user.saldo) logging.info("O user " + request.user.email + " comprou a carta " + carta.nome + " com raridade " + carta.raridade) return toReturn
def sell_card(request): nome = None edicao = None raridade = None try: nome = request.POST['nome'] edicao = request.POST['edicao'] raridade = request.POST['raridade'] except: return "Erro###Campo com valor incorrecto" #card = cartas_mtg.all().filter('nome =', nome).filter('edicao > ',edicao).filter('raridade =',raridade).get() card_query = cartas_mtg.search(nome + " " + edicao + " " + raridade) try: card = card_query[0] except: return "Erro###Carta inexistente" #remover das compras found = compras_historico_utils.delete_card_from_compras(request.user.email, nome, edicao, raridade) if not found: return "Erro###Carta inexistente nas suas compras" #Get user user = Page_Users.all().filter("email =", request.user.email).get() #adicionar ao saldo do gajo user = page_users_utils.change_saldo_user(user, raridade, True) #adicionar a +1 ao stock da carta card_database_utils.increment_card_stock(card) return "Saldo###" + str(user.saldo)