def grab_pro_trans(self,datos,cdias,nuproduc,dess,ofe): inser=False if not ofe: inser=True ofe=todosmodelos.Oferta(parent=self.ancestor_key,nombre=datos["nombre"],descrip=datos["descrip"],fecdes=datos["fecdes"],fechas=datos["fechas"],horde=datos["hordes"],horh=datos["horhas"],dias=cdias,localodomi=datos["loodo"],ofertaenart=datos["ofen"],numofer=datos["numofe"],preciofijo=datos["prefijo"],descuento=datos["dese"],eurosoporcen=datos["desp"],increm=datos["ince"],numproduc=nuproduc,grupo=datos["grupo"]) else: ofe.populate(nombre=datos["nombre"],descrip=datos["descrip"],fecdes=datos["fecdes"],fechas=datos["fechas"],horde=datos["hordes"],horh=datos["horhas"],dias=cdias,localodomi=datos["loodo"],ofertaenart=datos["ofen"],numofer=datos["numofe"],preciofijo=datos["prefijo"],descuento=datos["dese"],eurosoporcen=datos["desp"],increm=datos["ince"],numproduc=nuproduc,grupo=datos["grupo"]) okofe=ofe.put() aid=[] if nuproduc > 0: i=0 for art in datos["produc"]: if inser or art["oper"] == "ins": if art["tp"]==0: articu=todosmodelos.ofcondPizza(parent=okofe,tipoproducto=0,descuento=dess[i][0],eurosoporcen=dess[i][1],numofer=art["custom"]["acc"],tama=art["tamas"],masa=art["masas"],idtipo=art["artis"],condiing=art["ingres"]["condiing"],numing=art["ingres"]["numing"]) elif art["tp"]==1: articu=todosmodelos.ofcondOtro(parent=okofe,tipoproducto=1,descuento=dess[i][0],eurosoporcen=dess[i][1],numofer=art["custom"]["acc"],idtipo=art["artis"],idp=art["idp"],cantidad=art["custom"]["cantidad"]) elif art["tp"]==2: articu=todosmodelos.ofcondComplex(parent=okofe,tipoproducto=2,descuento=dess[i][0],eurosoporcen=dess[i][1],numofer=art["custom"]["acc"],tama=art["tamas"],idtipo=art["artis"],condiing=art["ingres"]["condiing"],numing=art["ingres"]["numing"],idp=art["idp"]) k=articu.put() aid.append((k.integer_id(),art["nid"])) elif art["oper"] == "mod": if art["tp"]==0: art["keyrec"].populate(tipoproducto=0,descuento=dess[i][0],eurosoporcen=dess[i][1],numofer=art["custom"]["acc"],tama=art["tamas"],masa=art["masas"],idtipo=art["artis"],condiing=art["ingres"]["condiing"],numing=art["ingres"]["numing"]) elif art["tp"]==1: art["keyrec"].populate(tipoproducto=1,descuento=dess[i][0],eurosoporcen=dess[i][1],numofer=art["custom"]["acc"],idtipo=art["artis"],idp=art["idp"],cantidad=art["custom"]["cantidad"]) elif art["tp"]==2: art["keyrec"].populate(tipoproducto=2,descuento=dess[i][0],eurosoporcen=dess[i][1],numofer=art["custom"]["acc"],tama=art["tamas"],idtipo=art["artis"],condiing=art["ingres"]["condiing"],numing=art["ingres"]["numing"],idp=art["idp"]) k=art["keyrec"].put() aid.append((k.integer_id(),art["nid"])) else: art["keyrec"].key.delete() aid.append(("del",art["nid"])) i+=1 return (okofe.integer_id(),okofe.urlsafe(),aid)
def ofertas(tiacop,mikeyti,listam,lisma,listipiz,listipunotro,listipotro,listipuncomplex,listipcomplex,listamax): oferQry = todosmodelos.Oferta.query(ancestor=tiacop) #.order(todosmodelos.Oferta.nombre) lisofr=[] for i in oferQry: ofe=todosmodelos.Oferta(parent=mikeyti,nombre=i.nombre,descrip=i.descrip,fecdes=i.fecdes,fechas=i.fechas,horde=i.horde,horh=i.horh,dias=i.dias,localodomi=i.localodomi,ofertaenart=i.ofertaenart,numofer=i.numofer,preciofijo=i.preciofijo,descuento=i.descuento,eurosoporcen=i.eurosoporcen,increm=i.increm,numproduc=i.numproduc,grupo=i.grupo).put() uoQry=todosmodelos.ofertadetalle.query(ancestor=i.key) for u in uoQry: if u.tipoproducto==0: if u.tama: idsta=[listam[str(t)] for t in u.tama] else: idsta=[] if u.masa: idsma=[lisma[str(t)] for t in u.masa] else: idsma=[] if u.idtipo: idstipo=[listipiz[str(t)] for t in u.idtipo] else: idstipo=[] articu=todosmodelos.ofcondPizza(parent=ofe,tipoproducto=0,descuento=u.descuento,eurosoporcen=u.eurosoporcen,numofer=u.numofer,tama=idsta,masa=idsma,idtipo=idstipo,condiing=u.condiing,numing=u.numing).put() elif u.tipoproducto==1: if u.idtipo: idstipo=[listipunotro[str(t)] for t in u.idtipo] else: idstipo=[] articu=todosmodelos.ofcondOtro(parent=ofe,tipoproducto=1,descuento=u.descuento,eurosoporcen=u.eurosoporcen,numofer=u.numofer,idtipo=idstipo,idp=listipotro[str(u.idp)],cantidad=u.cantidad).put() elif u.tipoproducto==2: if u.idtipo: idstipo=[listipuncomplex[str(t)] for t in u.idtipo] else: idstipo=[] if u.tama: idstamax=[listamax[str(t)] for t in u.tama] else: idstamax=[] articu=todosmodelos.ofcondComplex(parent=ofe,tipoproducto=2,descuento=u.descuento,eurosoporcen=u.eurosoporcen,numofer=u.numofer,tama=idstamax,idtipo=idstipo,condiing=u.condiing,numing=u.numing,idp=listipcomplex[str(u.idp)],cantidad=u.cantidad).put()