def buscaQualis(self, tipo, nome, sigla=''): dist = 0 indice = 0 # Percorrer lista de periodicos tentando casar com nome usando funcao similaridade_entre_cadeias(str1, str2) de scriptLattes.py if tipo=='P': if self.periodicos.get(sigla)!=None: # print "CASOU ISSN: ", nome, sigla return self.periodicos.get(sigla) , '' # Retorna Qualis do issn/sigla exato encontrado - Casamento perfeito elif self.periodicos.get(nome)!=None: #print "CASOU NOME: ", nome, sigla return self.periodicos.get(nome) , '' # Retorna Qualis do nome exato encontrado - Casamento perfeito else: chaves = self.periodicos.keys() for i in range(0,len(chaves)): distI = similaridade_entre_cadeias( nome, chaves[i], qualis=True) if distI>dist: # comparamos: nome com cada nome de periodico indice = i dist = distI if indice>0: return self.periodicos.get(chaves[indice]) , chaves[indice] # Retorna Qualis de nome similar else: if self.congressos.get(nome)!=None: return self.congressos.get(nome) , '' # Retorna Qualis do nome exato encontrado - Casamento perfeito else: chaves = self.congressos.keys() for i in range(0,len(chaves)): distI = similaridade_entre_cadeias( nome, chaves[i], qualis=True) if distI>dist: # comparamos: nome com cada nome de evento indice = i dist = distI if indice>0: return self.congressos.get(chaves[indice]) , chaves[indice] # Retorna Qualis de nome similar #return 'Qualis nao identificado', '' return 'Qualis nao identificado', nome
def compararCom(self, objeto): if self.idMembro.isdisjoint(objeto.idMembro) and similaridade_entre_cadeias(self.titulo, objeto.titulo): # Os IDs dos membros são agrupados. # Essa parte é importante para a criação do GRAFO de colaborações self.idMembro.update(objeto.idMembro) if len(self.doi) < len(objeto.doi): self.doi = objeto.doi if len(self.autores) < len(objeto.autores): self.autores = objeto.autores if len(self.titulo) < len(objeto.titulo): self.titulo = objeto.titulo if len(self.nomeDoEvento) < len(objeto.nomeDoEvento): self.nomeDoEvento = objeto.nomeDoEvento if len(self.volume) < len(objeto.volume): self.volume = objeto.volume if len(self.paginas) < len(objeto.paginas): self.paginas = objeto.paginas return self else: # nao similares return None
def compararCom(self, objeto): if self.idMembro.isdisjoint(objeto.idMembro) and similaridade_entre_cadeias(self.item, objeto.item): # Os IDs dos membros são agrupados. # Essa parte é importante para a criação do GRAFO de colaborações self.idMembro.update(objeto.idMembro) if len(self.item)<len(objeto.item): self.item = objeto.item return self else: # nao similares return None
def compararCom(self, objeto): if set(self.idMembro).isdisjoint(set( objeto.idMembro)) and similaridade_entre_cadeias( self.nome, objeto.nome): # Os IDs dos membros são agrupados. # Essa parte é importante para a geracao do relorio de projetos self.idMembro.extend(objeto.idMembro) self.descricao.extend( objeto.descricao) # Apenas juntamos as descrições return self else: # nao similares return None
def compararCom(self, objeto): if self.idMembro.isdisjoint( objeto.idMembro) and similaridade_entre_cadeias( self.nome, objeto.nome): # Os IDs dos membros são agrupados. # Essa parte é importante para a criação do GRAFO de colaborações self.idMembro.update(objeto.idMembro) if len(self.tituloDoTrabalho) < len(objeto.tituloDoTrabalho): self.tituloDoTrabalho = objeto.tituloDoTrabalho if len(self.instituicao) < len(objeto.instituicao): self.instituicao = objeto.instituicao if len(self.agenciaDeFomento) < len(objeto.agenciaDeFomento): self.agenciaDeFomento = objeto.agenciaDeFomento return self else: # nao similares return None