def OnRelC3Button(self, event): personas3 = session.query(Persona).filter(Persona.clavestatus == 3).all() personas3sim = [(p, persona_sim(p, self.personaActual)) for p in personas3] personas3sim.sort(lambda x,y:ordenObjeto(x,y) ) pers = aRelacionar(self, [(p, p.Descriptor()) for p,s in personas3sim]) if pers: self.personaActual.personarelacionadac3 = pers.id session.add(self.personaActual) session.flush() MError(self, "La persona fue relacionada en el contenedor 3") event.Skip()
def OnBtnRelacionaCasoButton(self, event): casos3 = session.query(Caso).filter(Caso.clavestatus == 3).all() casos3sim = [(c, caso_sim(c, self.casoActual)) for c in casos3] casos3sim.sort(lambda x,y:ordenObjeto(x,y) ) for i in casos3sim: print i[0], i[1] casosarel = aRelacionar(self, [(c, c.Descriptor()) for c,s in casos3sim]) if casosarel: self.casoActual.casorelacionadoc3 = casosarel.id self.casoActual.clavestatusc3 = 3 session.add(self.casoActual) session.flush() module2.updateStatusC3(self.parent, status.casoActual) MError(self, u"Se estableci\xf3 la relaci\xf3n del caso con otro caso presente en C3") # llenar que? event.Skip()
def FijaVersion(self, PRGversion): registro=session.query(ConfigTdt).filter(ConfigTdt.tipo == u'DBversion').all() opciones = {} l = None if registro: try: l = registro[0] opciones = pickle.loads(str(l.contenido)) except: print "error de pickle en fijaversion" if not l: l = ConfigTdt(u'DBversion') l.descripcion = u'Version de la base de datos' opciones['DBversion']= PRGversion l.contenido=pickle.dumps(opciones) session.add(l) session.flush() return
def OnBtnRelacionarButton(self, event): global listaPersonas if listaPersonas: self.personaActual = listaPersonas[0] personas3 = session.query(Persona).filter(Persona.clavestatus == 3).all() personas3sim = [(p, persona_sim(p, self.personaActual)) for p in personas3] personas3sim.sort(lambda x,y:ordenObjeto(x,y) ) for i in personas3sim: print i[0], i[1] pers = aRelacionar(self, [(p, p.Descriptor()) for p,s in personas3sim]) if pers: self.personaActual.personarelacionadac3 = pers.id session.add(self.personaActual) session.flush() MError(self, u"Se estableci\xf3 la relaci\xf3n de la persona con otra persona presente en C3") llenaCtrlPersonas(self, self.casoActual) self.btnRelacionar.Enable(False) self.btnPasaraC3.Enable(False) event.Skip()
cuenta = 0 apellidos1 = p1.apellido apellidos2 = p2.apellido nombre1 = p1.nombre nombre2 = p2.nombre cuenta = palabras_sim(apellidos1, apellidos2) * peso_apellido if cuenta: cuenta += palabras_sim(nombre1, nombre2) * peso_nombre if p1.estado_nac_u_origen: cuenta += (p1.estado_nac_u_origen == p2.estado_nac_u_origen ) * peso_edo if p1.mpio_nac_u_origen: cuenta += (p1.mpio_nac_u_origen == p2.mpio_nac_u_origen) * peso_mpo return cuenta codigosab = {} buscar = session.query(Persona).filter(Persona.esindividual == 1).all()[70] print buscar.apellido, buscar.nombre, buscar.estado_nac_u_origen, buscar.mpio_nac_u_origen indx = 0 lista = session.query(Persona).filter(Persona.esindividual == 1).filter(Persona.id < 9999).all() for i in lista: cuenta = persona_sim(i, buscar) if cuenta: print cuenta, i.apellido, i.nombre, i.estado_nac_u_origen, i.mpio_nac_u_origen
def comparaColeccion(self, grupo): Traduccion = { 'ColeccionCasos':u'Casos', 'ColeccionPersonas':u'Personas' } salida = self.Resultado coleccionCasosT1 = session.query(Caso).filter(Caso.clavegrupo == grupo).filter(Caso.clavestatus == 1).order_by(Caso.id).all() #[:5] coleccionPersonasT1 = session.query(Persona).filter(Persona.clavegrupo == grupo).filter(Persona.clavestatus == 1).order_by(Persona.id).all() #[:5] coleccionCasosT2 = session.query(Caso).filter(Caso.clavegrupo == grupo).filter(Caso.clavestatus == 2).order_by(Caso.id).all() #[:5] coleccionPersonasT2 = session.query(Persona).filter(Persona.clavegrupo == grupo).filter(Persona.clavestatus == 2).order_by(Persona.id).all() #[:5] self.txtActividad.SetLabel('Comparando contenedores...') self.Update() moduleExp1.SWid=True moduleExp1.exportando=False envio1 = GeneraEnvio('','','',coleccionCasosT1, coleccionPersonasT1) r=envio1.toxml() fileObj = file( '1.xml', "w" ) fileObj.write(r) fileObj.close() self.Update() envio2 = GeneraEnvio('','','',coleccionCasosT2, coleccionPersonasT2) r=envio2.toxml() fileObj = file( '2.xml', "w" ) fileObj.write(r) fileObj.close() moduleExp1.SWid=False self.Update() xmlcompare.topLevel = 'ColeccionCasos' res1 = isEqualXML(envio1.childNodes[0].childNodes[1], envio2.childNodes[0].childNodes[1]) xmlcompare.topLevel = 'ColeccionPersonas' res2 = isEqualXML(envio1.childNodes[0].childNodes[2], envio2.childNodes[0].childNodes[2]) codificacion = 'utf-8' #codificacion = 'latin-1' lista=[] for res in [res1, res2]: if res: lista.append(Traduccion[res['objeto']]+'\n\n') #salida.WriteText(res['objeto']+'\n') for resultado in res['resultado']: accion = str(resultado['accion']).decode(codificacion, 'replace') campo = resultado['campo']#.decode(codificacion, 'replace') contexto = resultado['contexto']#.decode(codificacion, 'replace') tmpcampo = campo if campo else '??' print type(tmpcampo) tmpcontexto = "(en "+contexto+")" if contexto else ' ' expr = "%s: %s\n%s\n\n"%(accion, tmpcampo, tmpcontexto) print "ok" lista.append(expr) salida.SetValue(" ".join(lista)) self.txtActividad.SetLabel('Reporte listo') self.btnGuardar.Enable()
if c2 != Sc2: Sc2 = c2 descrip = lista_descripcion(c2.descripcion) busTips = c2.setDerechosAfectados() busTemas = c2.setTemas() busLocalidadE,busLocalidadM = c2.setLocalidades() r1 = similaridad_descripcion(descrip, descrip1) r2 = similaridad_tipificacion(busTips,busTips1) r3 = similaridad_tipificacion(busTemas, busTemas1) r4 = similaridad_localidad(busLocalidadE,busLocalidadM, busLocalidadE1,busLocalidadM1) return r1 + r2 + r3 + r4 if __name__ == '__main__': caso_a_buscar = session.query(Caso)[10] casos = session.query(Caso).filter(Caso.id < 9999).all() for caso_busqueda in casos: descrip = lista_descripcion(caso_busqueda.descripcion) busTips = caso_busqueda.setDerechosAfectados() busTemas = caso_busqueda.setTemas() busLocalidadE,busLocalidadM = caso_busqueda.setLocalidades() for c in casos: des = lista_descripcion(c.descripcion) tips = c.setDerechosAfectados() temas = c.setTemas() E,M = c.setLocalidades() res = similaridad_descripcion(descrip, des) if res > 0:
def __init__(self, parent): self._init_ctrls(parent) usuarios = [(i, i.nombre) for i in session.query(User).all()] LlenaCtrl3(self.listUser, usuarios) self.U = None self.cancelar = True
def ExisteGrupo(self, id): r=session.query(Grupo).filter(Grupo.id == id).count() return r > 0
def LoadCtrls(self): LlenaCtrl3(self.listBox1, [(i,i.Descriptor()) for i in session.query(Grupo)])
nombre1 = p1.nombre nombre2 = p2.nombre cuenta = palabras_sim(apellidos1, apellidos2) * peso_apellido if cuenta: cuenta += palabras_sim(nombre1, nombre2) * peso_nombre if p1.estado_nac_u_origen: cuenta += (p1.estado_nac_u_origen == p2.estado_nac_u_origen ) * peso_edo if p1.mpio_nac_u_origen: cuenta += (p1.mpio_nac_u_origen == p2.mpio_nac_u_origen) * peso_mpo return cuenta if __name__ == '__main__': codigosab = {} buscar = session.query(Persona).filter(Persona.id == 1102033).first() print buscar.apellido, buscar.nombre, buscar.estado_nac_u_origen, buscar.mpio_nac_u_origen indx = 0 lista = session.query(Persona).filter(Persona.id < 9999).all() for i in lista: cuenta = persona_sim(i, buscar) if cuenta: print cuenta, i.apellido, i.nombre, i.estado_nac_u_origen, i.mpio_nac_u_origen