コード例 #1
0
ファイル: qualis.py プロジェクト: Webteg/crawlerlattes
 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
コード例 #2
0
    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
コード例 #3
0
	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
コード例 #4
0
    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
コード例 #5
0
    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