def put_categoria(categoria_id): if 'id' in session: id = session['id'] try: categoria = Categoria.get(Categoria.id == categoria_id) inventario = Inventario.get((Inventario.id == categoria.inventario) & (Inventario.usuario == id)) categoria.nombre = request.json.get('nombre', categoria.nombre) categoria.descripcion = request.json.get('descripcion', categoria.descripcion) categoria.inventario = request.json.get('inventario', categoria.inventario) if categoria.save(): inventario = Inventario.get( Inventario.id == categoria.inventario) return jsonify(categoria.to_json(inventario.add_ok())) else: abort(422) except Categoria.DoesNotExist: abort(404) except Inventario.DoesNotExist: abort(404) return jsonify({'message': 'KO'})
def put_lote(lote_id): if 'id' in session: id = session['id'] try: lote = Lote.get(Lote.id == lote_id) producto = Producto.get(Producto.id == lote.producto) categoria = Categoria.get(Categoria.id == producto.categoria) inventario = Inventario.get((Inventario.id == categoria.inventario) & (Inventario.usuario == id)) lote.costo = request.json.get('costo', lote.costo) lote.precio = request.json.get('precio', lote.precio) lote.existencia = request.json.get('existencia', lote.existencia) lote.producto = request.json.get('producto', lote.producto) if lote.save(): return jsonify(lote.to_json(producto.add_ok())) else: abort(422) except Lote.DoesNotExist: abort(404) except Inventario.DoesNotExist: abort(404) return jsonify({'message': 'KO'})
def put_producto(producto_id): if 'id' in session: id = session['id'] try: producto = Producto.get(Producto.id == producto_id) categoria = Categoria.get(Categoria.id == producto.categoria) inventario = Inventario.get((Inventario.id == categoria.inventario) & (Inventario.usuario == id)) proveedor = Proveedor.get(Proveedor.id == producto.proveedor) producto.nombre = request.json.get('nombre', producto.nombre) producto.descripcion = request.json.get('descripcion', producto.descripcion) producto.categoria = request.json.get('categoria', producto.categoria) producto.proveedor = request.json.get('proveedor', producto.proveedor) if producto.save(): return jsonify( producto.to_json(categoria.add_ok(), proveedor.to_json())) else: abort(422) except Producto.DoesNotExist: abort(404) except Inventario.DoesNotExist: abort(404) return jsonify({'message': 'KO'})
def get_inventarios(): if 'id' in session: id = session['id'] inventarios = Inventario.select().where(Inventario.usuario == id) inventarios = [ Inventario.to_json( Usuario.get(Usuario.id == Inventario.usuario).to_json()) for Inventario in inventarios ] identificador = Inventario.select() identificador = [Inventario.iden() for Inventario in identificador] diccionario = {} for x in range(len(inventarios)): diccionario[identificador[x]] = inventarios[x] return jsonify(diccionario) return jsonify({'message': 'KO'})
def get_inventario(inventario_id): if 'id' in session: id = session['id'] try: inventario = Inventario.get((Inventario.id == inventario_id) & (Inventario.usuario == id)) usuario = Usuario.get(Usuario.id == inventario.usuario) return jsonify(inventario.to_json(usuario.to_json())) except Inventario.DoesNotExist: abort(404) return jsonify({'message': 'KO'})
def get_categoria(categoria_id): if 'id' in session: id = session['id'] try: categoria = Categoria.get(Categoria.id == categoria_id) inventario = Inventario.get((Inventario.id == categoria.inventario) & (Inventario.usuario == id)) return jsonify(categoria.to_json(inventario.add_ok())) except Categoria.DoesNotExist: abort(404) except Inventario.DoesNotExist: abort(404) return jsonify({'message': 'KO'})
def pegaDrop(self,dado): #/pega Item pego = None drops = [] drop = any try: item = dado[1] except : return "Esqueceu o item a ser pego" try: drops = Drop.select(Drop, Item).join(Item) except: return "erro ao listar Drops" if len(drops)>0: for i in drops: if i.item.nome == item: pego = i.item drop = i if pego is None: return "%s não está no drop." %(item) else: return "não tem drop" try: per = Personagem.get(Personagem.usuario == dado[0]) except: return "%s não possui um personagem"%(dado[0]) try: inv = Inventario() inv.create( item = pego, personagem = per ) except: return "Erro ao pegar item :(" drop.delete_instance() return "%s pegou %s [ATK: %d / DEF: %d ] do drop" %(per.nome,pego.nome,pego.ataque, pego.defesa )
def get_lote(lote_id): if 'id' in session: id = session['id'] try: lote = Lote.get(Lote.id == lote_id) producto = Producto.get(Producto.id == lote.producto) categoria = Categoria.get(Categoria.id == producto.categoria) inventario = Inventario.get((Inventario.id == categoria.inventario) & (Inventario.usuario == id)) return jsonify(lote.to_json(producto.add_ok())) except Lote.DoesNotExist: abort(404) except Inventario.DoesNotExist: abort(404) return jsonify({'message': 'KO'})
def get_producto(producto_id): if 'id' in session: id = session['id'] try: producto = Producto.get(Producto.id == producto_id) categoria = Categoria.get(Categoria.id == producto.categoria) inventario = Inventario.get((Inventario.id == categoria.inventario) & (Inventario.usuario == id)) proveedor = Proveedor.get(Proveedor.id == producto.proveedor) return jsonify( producto.to_json(categoria.add_ok(), proveedor.to_json())) except Producto.DoesNotExist: abort(404) except Inventario.DoesNotExist: abort(404) return jsonify({'message': 'KO'})
def put_inventario(inventario_id): if 'id' in session: id = session['id'] try: inventario = Inventario.get((Inventario.id == inventario_id) & (Inventario.usuario == id)) inventario.nombre = request.json.get('nombre', inventario.nombre) inventario.usuario = request.json.get('usuario', inventario.usuario) if inventario.save(): usuario = Usuario.get(Usuario.id == inventario.usuario) return jsonify(inventario.to_json(usuario.to_json())) else: abort(422) except Inventario.DoesNotExist: abort(404)
def get_categorias(): if 'id' in session: id = session['id'] categorias = Categoria.select().join(Inventario).where( Inventario.usuario == id) categorias = [ Categoria.to_json( Inventario.get(Inventario.id == Categoria.inventario).add_ok()) for Categoria in categorias ] identificador = Categoria.select().join(Inventario).where( Inventario.usuario == id) identificador = [Categoria.iden() for Categoria in identificador] diccionario = {} for x in range(len(categorias)): diccionario[identificador[x]] = categorias[x] return jsonify(diccionario) return jsonify({'message': 'KO'})
def post_inventario(): if 'id' in session: id = session['id'] if not request.json: abort(400) nombre = request.json.get('nombre') usuario = request.json.get('usuario') inventario = Inventario.new(nombre, usuario) if inventario is None: abort(422) if inventario == "error": abort(406) usuario = Usuario.get(Usuario.id == inventario.usuario) return jsonify(inventario.to_json(usuario.to_json())) return jsonify({'message': 'KO'})
def post_categoria(): if 'id' in session: id = session['id'] if not request.json: abort(400) nombre = request.json.get('nombre') descripcion = request.json.get('descripcion') inventario = request.json.get('inventario') categoria = Categoria.new(nombre, descripcion, inventario) if categoria is None: abort(422) if categoria == "error": abort(406) inventario = Inventario.get(Inventario.id == categoria.inventario) return jsonify(categoria.to_json(inventario.add_ok())) return jsonify({'message': 'KO'})
def equipar(self, dado): # /equipar item local saco = [] inventario = Inventario try: equipamento = dado[1] posicao = dado[2] usuario = dado[0] except: return "Erro, tente:\n /equipar item posição: \n :skull: cabeça \n :jeans: perna\n :mans_shoe: pé\n :shirt: peito\n :point_right: direita \n :point_left: esquerda" try: pe = Personagem.get(Personagem.usuario == usuario) except: return "%s não possui personagem cadastrado :kissing_heart:" % usuario try: '''pe.inventario = (Item .select() .join(Inventario) .join(Personagem) .where(Personagem.nome == pe.nome))''' pe.inventario = (Inventario.select( Inventario, Personagem, Item).join(Personagem).switch(Inventario).join(Item)) except: return "Erro ao listar itens" for i in pe.inventario: if equipamento == i.item.nome: segura = Item mod = "" if posicao in [ "cabeça", "cabeca", "top", "capacete", "elmo", "1" ]: segura = pe.cabeca mod = "cabeca" pe.cabeca = i.item elif posicao in ["calça", "perna", "calca", "5"]: segura = pe.perna mod = "perna" pe.perna = i.item elif posicao in ["peito", "armadura", "4"]: segura = pe.peito mod = "peito" pe.peito = i.item elif posicao in ["pe", "sapato", "foot", "pé", "6"]: segura = pe.sapato mod = "sapato" pe.sapato = i.item elif posicao in [ "direito", "direita", "mão_direita", "mao_direita", "braço_direito", "2" ]: segura = pe.bra_dir mod = "bra_dir" pe.bra_dir = i.item elif posicao in [ "esquerda", "esquerdo", "mao_esquerda", "braço_esquerdo", "mão_esquerda", "3" ]: segura = pe.bra_esq mod = "bra_esq" pe.bra_esq = i.item else: return "Escolha uma posição para colocar %s: \n :skull: cabeça \n :jeans: perna\n :mans_shoe: pé\n :shirt: peito\n :point_right: direita \n :point_left: esquerda" % ( dado[1]) try: i.item = segura i.save() except IntegrityError: return "Erro ao trocar itens :mask:" try: pe.save() except IntegrityError: return "Erro ao equipar itens :mask:" return "Equipado! :ok_hand:" return "Você não possui %s em seu inventario" % dado[1]