def escribir_eid(self, cantidad_recuperados):
     iteraciones = cantidad_recuperados/100
     for i in range(iteraciones):
         print i
         d = Descarga(self.consultas[0],(i*100)+1)
         xml = d.obtener_respuesta(d.peticion)
         print 'ya descargo'
         d.descargar_xml(xml,'xml'+str(i))
         print 'ya escribio'
         self.escribir_resultado(d.obtener_respuesta(d.peticion), str(i+1))
	def descargar_papers(self, query):
		d = Descarga(query)
		respuesta = d.obtener_respuesta(d.peticion)
		tree = ET.parse(respuesta)
		root = tree.getroot()
		for child in root:
			for doi in child.findall('{http://prismstandard.org/namespaces/basic/2.0/}doi'):
				print doi.text
				titulo = self.descargar_paper(doi.text)
				if titulo != None:
					self.titulos_descargas.append(titulo)
示例#3
0
 def obtener_eid(self, cantidad_recuperados, consulta):
     iteraciones = cantidad_recuperados/100
     eids = []
     for i in range(iteraciones):
         print i
         d = Descarga(consulta,(i*100))
         ##xml = d.obtener_respuesta(d.peticion)
         print 'ya descargo'
         #d.descargar_xml(xml,'xml'+str(i))
         print 'ya escribio'
         eids = eids + self.obtener_eid_100(d.obtener_respuesta(d.peticion))
         ##eids = eids + self.obtener_eid_100(open('busqueda1.xml'))
     return eids
 def obtener_eid(self, cantidad_recuperados, consulta):
     iteraciones = cantidad_recuperados/100
     eids = []
     for i in range(iteraciones):
         print i
         d = Descarga(consulta,(i*100))
         ##xml = d.obtener_respuesta(d.peticion)
         print 'ya descargo'
         #d.descargar_xml(xml,'xml'+str(i))
         print 'ya escribio'
         eids = eids + self.obtener_eid_100(d.obtener_respuesta(d.peticion))
         ##eids = eids + self.obtener_eid_100(open('busqueda1.xml'))
     return eids
示例#5
0
    def descargar_paper(self, doi, user, proyecto):
        """"
        Descarga los archivos pdf desde scopus, a partir del 'doi', y devuelve el titulo y el eid del archivo descargado.

        Parametros
        doi : doi de un paper.
        user : Usuario de vigtech que hace la consuluta
        proyecto : proyecto de vigtech al que corresponde la consulta
        """"
        d = Descarga(doi)
        d.buscar_por_doi()
        titulo_eid =d.descargar(REPOSITORY_DIR+'%s.%s/'%(user,proyecto))
        return titulo_eid
    def descargar_papers(self, query, cantidad_recuperados, user, proyecto):

        iteraciones = cantidad_recuperados/100
        for i in range(iteraciones):

            d = Descarga(query, i*100)
            xml = d.obtener_respuesta(d.peticion)
            d.descargar_xml(xml, REPOSITORY_DIR+'%s.%s/busqueda'%(user,proyecto)+str(i))
            respuesta = d.obtener_respuesta(d.peticion)
            tree = ET.parse(respuesta)
            root = tree.getroot()

            for child in root:
                for doi in child.findall('{http://prismstandard.org/namespaces/basic/2.0/}doi'):
                    print doi.text
                    titulo_eid = self.descargar_paper(doi.text, user, proyecto)
                    eid = titulo_eid[0]
                    #print 'TIT', titulo
                    titulo = titulo_eid[1]
                    #print 'EIDx', eid
                    if (titulo != ''):
                        self.titulos_descargas.append(titulo)
                        self.eids_descargas.append(eid)
                        self.lista_docs.append(titulo + ".pdf")
示例#7
0
 def escribir_eid(self, cantidad_recuperados):
     iteraciones = cantidad_recuperados/100
     for i in range(iteraciones):
         print i
         d = Descarga(self.consultas[0],(i*100)+1)
         xml = d.obtener_respuesta(d.peticion)
         print 'ya descargo'
         d.descargar_xml(xml,'xml'+str(i))
         print 'ya escribio'
         self.escribir_resultado(d.obtener_respuesta(d.peticion), str(i+1))
示例#8
0
    def descargar_papers(self, query):

        d = Descarga(query)
        xml = d.obtener_respuesta(d.peticion)
        d.descargar_xml(xml, 'busqueda')
        respuesta = d.obtener_respuesta(d.peticion)
        tree = ET.parse(respuesta)
        root = tree.getroot()

        for child in root:
            for doi in child.findall(
                    '{http://prismstandard.org/namespaces/basic/2.0/}doi'):
                print doi.text
                self.titulos_descargas.append(self.descargar_paper(doi.text))
示例#9
0
    def descargar_papers(self, query, cantidad_recuperados, user, proyecto):
        """"
        Consume el servicio de scopus a partir de la 'query' que se envia, y escribe el xml de respuesta en el directorio compuesto
        por 'user' y 'proyecto'. Ademas descarga los papers disponibles a partir de los doi que aparezcan en el xml previamente descargados.
        Por ultimo almacena en los atributos 'eids_descargas' y 'lista_docs' los archivos que fueron descargados.

        Parametros
        query : Consulta que se le hace a scopus (string) (ejemplo: Heart)
        cantidad_recuperados : Cantidad de papers que va a devolver scopus en el xml, solo una pequena porcion de estos seran desgargados. (integer)
        user : Usuario de vigtech que hace la consuluta (string)
        proyecto : proyecto de vigtech al que corresponde la consulta (string)

        """"

        #Cada xml solo arroja 100 papers, luego si se quieren mas papers hay que descargar varios xml
        iteraciones = cantidad_recuperados/100
        for i in range(iteraciones):

            d = Descarga(query, i*100)
            xml = d.obtener_respuesta(d.peticion)
            d.descargar_xml(xml, REPOSITORY_DIR+'%s.%s/busqueda'%(user,proyecto)+str(i))
            respuesta = d.obtener_respuesta(d.peticion)
            tree = ET.parse(respuesta)
            root = tree.getroot()

            for child in root:
                for doi in child.findall('{http://prismstandard.org/namespaces/basic/2.0/}doi'):
                    print doi.text
                    titulo_eid = self.descargar_paper(doi.text, user, proyecto)
                    eid = titulo_eid[0]
                    #print 'TIT', titulo
                    titulo = titulo_eid[1]
                    #print 'EIDx', eid
                    if (titulo != ''):
                        self.titulos_descargas.append(titulo)
                        self.eids_descargas.append(eid)
                        self.lista_docs.append(titulo + ".pdf")
示例#10
0
import time, hashlib, json, random  #@UnresolvedImport
from ValidacionSeguridad import ValidacionSeguridad  # @UnresolvedImport
import Static.config_DB as dbConf  # @UnresolvedImport
from Static.UploadFiles import UploadFiles  # @UnresolvedImport
from descarga import Descarga  # @UnresolvedImport
from mail import correo  # @UnresolvedImport
from IPy import IP
import socket
import re
import requests

lc_cnctn = ConnectDB()
Utils = Utils()
validacionSeguridad = ValidacionSeguridad()

descarga = Descarga()


class ActualizarAcceso(Form):
    id_login_ge = StringField(
        labels.lbl_nmbr_usrs,
        [validators.DataRequired(message=errors.ERR_NO_SN_PRMTRS)])
    login = StringField(
        labels.lbl_lgn,
        [validators.DataRequired(message=errors.ERR_NO_INGSA_USRO)])
    nombre_usuario = StringField(
        labels.lbl_nmbr_usrs,
        [validators.DataRequired(message=errors.ERR_NO_INGSA_NMBRE_USRO)])


class AcInsertarAcceso(Form):
 def imprimir_metadatos(self, query):
     d = Descarga(query)
     xml = d.obtener_respuesta(d.peticion)
     print self.obtener_metadatos(xml, '{http://purl.org/dc/elements/1.1/}title')
 def descargar_paper(self, doi, user, proyecto):
     d = Descarga(doi)
     d.buscar_por_doi()
     titulo_eid =d.descargar(REPOSITORY_DIR+'%s.%s/'%(user,proyecto))
     return titulo_eid
 def escribir_resultados(self):
     for i, consulta in enumerate(self.consultas):
         d = Descarga(consulta)
         #print d.construir_peticion()
         self.escribir_resultado(d.obtener_respuesta(d.peticion), str(i+1))
示例#14
0
 def __init__(self):
     self.descarga = Descarga()
     self.jkanime = Jkanime()
     elecciones = {1: self.descarga, 2: self.descarga_masiva, 3: self.salir}
示例#15
0
	def descargar_paper(self, doi):
		d = Descarga(doi)
		d.buscar_por_doi()
		return d.descargar()
示例#16
0
 def escribir_resultados(self):
     for i, consulta in enumerate(self.consultas):
         d = Descarga(consulta)
         #print d.construir_peticion()
         self.escribir_resultado(d.obtener_respuesta(d.peticion),
                                 str(i + 1))
示例#17
0
 def imprimir_metadatos(self, query):
     d = Descarga(query)
     xml = d.obtener_respuesta(d.peticion)
     print self.obtener_metadatos(
         xml, '{http://purl.org/dc/elements/1.1/}title')
示例#18
0
 def descargar_paper(self, doi):
     d = Descarga(doi)
     d.buscar_por_doi()
     return d.descargar()