Exemplo n.º 1
0
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
Exemplo n.º 2
0
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)