Ejemplo n.º 1
0
 def __init__(self):
     self.dbwebscraping = DBWebscraping()
     self.dboferta = DBOferta()
     self.dbofertadetalle = DBOfertadetalle()
     self.dbkeyword = DBkeyWord()
     #JOSEF
     self.dbkeywordsearch = DBKeyworSearch()
Ejemplo n.º 2
0
 def registrar_normalizado(self, con, lista):
     for element in lista:
         new_words = preprocessing.normalize_words(
             word_tokenize(element["descripcion"]))
         descripcion_normalizada = " ".join(new_words)
         element["descripcion_normalizada"] = descripcion_normalizada
         DBOfertadetalle.update_requisito(con, element)
Ejemplo n.º 3
0
 def __init__(self):
     self.dbwebscraping = DBWebscraping()
     self.dboferta = DBOferta()
     self.dbofertadetalle = DBOfertadetalle()
     self.dbkeyword = DBkeyWord()
     #JOSEF
     self.dbkeywordsearch = DBKeyworSearch()
     #Avisos
     self.dbavisos = DBAvisos()
     #Estadisticas
     self.dbestadisticas = DBEstadisticas()
Ejemplo n.º 4
0
class Controller:
    def __init__(self):
        self.dbwebscraping = DBWebscraping_linkedin()
        self.dboferta = DBOferta()
        self.dbofertadetalle = DBOfertadetalle()
        self.dbkeywords = DBKeywords_linkedin()

    def registrar_webscraping(self, con, webscraping, index_keywords):
        id = self.dbwebscraping.insert_webscraping(con, webscraping,
                                                   index_keywords)
        return id

    def obtener_keywords(self, con):
        respuesta = self.dbkeywords.consultar_keywords(con)
        return respuesta

    #Inserción directa
    def registrar_oferta(self, con, oferta):
        idResult = self.dboferta.insert_oferta(con, oferta)
        return idResult

    #Insercion ofertas_detalle
    def registrar_oferta_detalle(self, con, oferta):
        idofertadetalle = self.dbofertadetalle.insert_ofertadetalle(
            con, oferta)
        return idofertadetalle

    #Inserción por lista
    def registrar_ofertas(self, con, lista_oferta):
        print(len(lista_oferta))
        for oferta in lista_oferta:
            print(
                "----------------analizando que hay en lista oferta---------------------"
            )
            print(oferta)
            idPuesto = self.dboferta.insert_oferta(con, oferta)

    def generar_insert_ofertadetalle(self, oferta):
        sql_insert = "INSERT INTO OFERTA_DETALLE (id_oferta,descripcion,fecha_creacion,fecha_modificacion) VALUES (%s,'%s',sysdate,sysdate);"
        sql_result = ""
        for ed in oferta["listaDescripcion"]:
            sql = sql_insert % (oferta["idPuesto"], ed)
            sql_result = sql_result + sql
        return sql_result

    def registrar_normalizado(self, con, lista):
        for element in lista:
            new_words = preprocessing.normalize_words(
                word_tokenize(element["descripcion"]))
            descripcion_normalizada = " ".join(new_words)
            element["descripcion_normalizada"] = descripcion_normalizada
            DBOfertadetalle.update_requisito(con, element)
Ejemplo n.º 5
0
 def __init__(self):
     self.dbwebscraping = DBWebscraping()
     self.dboferta = DBOferta()
     self.dbofertadetalle = DBOfertadetalle()
Ejemplo n.º 6
0
class Controller:
    def __init__(self):
        self.dbwebscraping = DBWebscraping()
        self.dboferta = DBOferta()
        self.dbofertadetalle = DBOfertadetalle()
        self.dbkeyword = DBkeyWord()
        #JOSEF
        self.dbkeywordsearch = DBKeyworSearch()
        #Avisos
        self.dbavisos = DBAvisos()
        #Estadisticas
        self.dbestadisticas = DBEstadisticas()

    #controlador de avisos
    def listarAvisosDeOferta(self, conn):
        ofertaAvisos= self.dbavisos.listarOfertas(conn)
        return ofertaAvisos

    #controlador de paginas
    def listarPaginas(self, conn):
        paginas = self.dbwebscraping.listarPaginas(conn)
        return paginas

    def get_proy(self, conn):
        response= self.dbestadisticas.proyecciones_siguiente_mes(conn)
        return response

    def obtener_estadisticas(self, conn):
        estad= self.dbestadisticas.pycharm(conn)
        return estad
    
    def get_data_csv(self, conn, keyword):
        response=self.dbestadisticas.get_data(conn, keyword)
        return response

    def registrar_webscraping(self, con, webscraping):
        id = self.dbwebscraping.insert_webscraping(con, webscraping)
        return id

    def registrar_oferta(self, con, oferta):        
        return self.dboferta.insert_oferta(con, oferta)

    ##metodo añadido para insertar las tuplas del detalle de la oferta
    def registrar_detalle_oferta(self, con, listaDetalle):
        #print(listaDetalle)
        idOfertaDetalle=self.dbofertadetalle.insertOfertaDetalle(con, listaDetalle)            
        

    def registrar_ofertas(self, con, lista_oferta):
        print(len(lista_oferta))
        for oferta in lista_oferta:
            print("----------------analizando que hay en lista oferta---------------------")
            print(oferta)
            idPuesto = self.dboferta.insert_oferta(con, oferta)     

    def generar_insert_ofertadetalle(self, oferta):
        sql_insert = "INSERT INTO OFERTA_DETALLE (id_oferta,descripcion,fecha_creacion,fecha_modificacion) VALUES (%s,'%s',sysdate,sysdate);"
        sql_result = ""
        for ed in oferta["listaDescripcion"]:
            sql = sql_insert % (oferta["idPuesto"], ed)
            sql_result = sql_result + sql
        return sql_result


    #prepara descripcion en una lista de diccionarios para el insert en oferta_detalle
    def analizaSegundoLi(self,tuplas, row):
        tuplafinal=[]
        avisotupla=str(tuplas).replace("<li>","").replace("</li>","").split("<br/>")
        for aviso in avisotupla:
            a={}
            if aviso.strip():
                a["id_oferta"]= row
                a["descripcion"]=aviso.strip()
                tuplafinal.append(a)
        return tuplafinal


    def getwords(self, conn):
        return self.dbkeyword.getwords(conn)

    def evitar_redundancia(self, con, oferta):
        return self.dboferta.evitar_redundancia(con, oferta)


    #JOSEFF
    def registrar_oferta_detalle(self, con, oferta_detalle):
        idResult = self.dbofertadetalle.insertOfertaDetalleJOSEFF(con, oferta_detalle)    

    def obtener_keyword_search(self, con):  
        return self.dbkeywordsearch.obtener_descripcion(con)
Ejemplo n.º 7
0
 def __init__(self):
     self.dbwebscraping = DBWebscraping_linkedin()
     self.dboferta = DBOferta()
     self.dbofertadetalle = DBOfertadetalle()
     self.dbkeywords = DBKeywords_linkedin()
 def __init__(self):
     self.dbwebscraping = webscraping_dao.WebscrapingDao()
     self.dboferta = DBOferta()
     self.dbofertadetalle = DBOfertadetalle()
     self.dbkeywordsearch = DBKeywordSearch()
class Controller:
    def __init__(self):
        self.dbwebscraping = webscraping_dao.WebscrapingDao()
        self.dboferta = DBOferta()
        self.dbofertadetalle = DBOfertadetalle()
        self.dbkeywordsearch = DBKeywordSearch()

    def registrar_webscraping(self, webscrapingTupla):

        webscrapingModel = webscraping.WebScraping(
            webscrapingTupla["busqueda"],
            webscrapingTupla["busqueda_area"],
            webscrapingTupla["pagina"],
            webscrapingTupla["url_principal"],
            webscrapingTupla["url_prefix"],
            1
        )
        id = self.dbwebscraping.insert_then_return_latest_row(webscrapingModel)
        return id

    def registrar_oferta(self, con, oferta):        
        return self.dboferta.insert_oferta(con, oferta)

    ##metodo añadido para insertar las tuplas del detalle de la oferta
    def registrar_detalle_oferta(self, con, listaDetalle):
        #print(listaDetalle)
        for detalle in listaDetalle:
            print("----------------analizando el detalle en tuplas---------------------")
            print(detalle)
            idOfertaDetalle=self.dbofertadetalle.insertOfertaDetalle(con, detalle)            

    def registrar_ofertas(self, con, lista_oferta):
        print(len(lista_oferta))
        for oferta in lista_oferta:
            print("----------------analizando que hay en lista oferta---------------------")
            print(oferta)
            idPuesto = self.dboferta.insert_oferta(con, oferta)     

    def generar_insert_ofertadetalle(self, oferta):
        sql_insert = "INSERT INTO OFERTA_DETALLE (id_oferta,descripcion,fecha_creacion,fecha_modificacion) VALUES (%s,'%s',sysdate,sysdate);"
        sql_result = ""
        for ed in oferta["listaDescripcion"]:
            sql = sql_insert % (oferta["idPuesto"], ed)
            sql_result = sql_result + sql
        return sql_result

    def registrar_normalizado(self, con, lista):
        for element in lista:
            new_words = preprocessing.normalize_words(word_tokenize(element["descripcion"]))
            descripcion_normalizada = " ".join(new_words)
            element["descripcion_normalizada"] = descripcion_normalizada
        # DBOfertadetalle.update_requisito(con, element)

    #prepara descripcion en una lista de diccionarios para el insert en oferta_detalle
    def analizaSegundoLi(self,tuplas, row):
        tuplafinal=[]
        avisotupla=str(tuplas).replace("<li>","").replace("</li>","").split("<br/>")
        for aviso in avisotupla:
            a={}
            if aviso.strip():
                a["id_oferta"]= row
                a["descripcion"]=aviso.strip()
                tuplafinal.append(a)
        return tuplafinal
    
    def obtenerpalabrasClave (self,con):
        return self.dbkeywordsearch.get_KeywordSearch(con)
Ejemplo n.º 10
0
class Controller:
    def __init__(self):
        self.dbwebscraping = DBWebscraping()
        self.dboferta = DBOferta()
        self.dbofertadetalle = DBOfertadetalle()

    def buscar_cargos(self, con):
        lista_d = self.dbwebscraping.list_search(con)
        return lista_d

    #Valida su el id(url) del aviso ya esta en la base de datos
    def validacion(self, con, url):
        existe = self.dboferta.validar_oferta(con, url)
        return existe

    def registrar_webscraping(self, con, webscraping):
        id = self.dbwebscraping.insert_webscraping(con, webscraping)
        return id

    def registrar_oferta(self, con, oferta):
        return self.dboferta.insert_oferta(con, oferta)

    ##metodo añadido para insertar las tuplas del detalle de la oferta
    def registrar_detalle_oferta(self, con, listaDetalle):
        #print(listaDetalle)
        for detalle in listaDetalle:
            print(
                "----------------analizando el detalle en tuplas---------------------"
            )
            print(detalle)
            idOfertaDetalle = self.dbofertadetalle.insertOfertaDetalle(
                con, detalle)

    def registrar_ofertas(self, con, lista_oferta):
        print(len(lista_oferta))
        for oferta in lista_oferta:
            print(
                "----------------analizando que hay en lista oferta---------------------"
            )
            print(oferta)
            idPuesto = self.dboferta.insert_oferta(con, oferta)

    def generar_insert_ofertadetalle(self, oferta):
        sql_insert = "INSERT INTO OFERTA_DETALLE (id_oferta,descripcion,fecha_creacion,fecha_modificacion) VALUES (%s,'%s',sysdate,sysdate);"
        sql_result = ""
        for ed in oferta["listaDescripcion"]:
            sql = sql_insert % (oferta["idPuesto"], ed)
            sql_result = sql_result + sql
        return sql_result

    def registrar_normalizado(self, con, lista):
        for element in lista:
            new_words = preprocessing.normalize_words(
                word_tokenize(element["descripcion"]))
            descripcion_normalizada = " ".join(new_words)
            element["descripcion_normalizada"] = descripcion_normalizada
        # DBOfertadetalle.update_requisito(con, element)

    #prepara descripcion en una lista de diccionarios para el insert en oferta_detalle
    def analizaSegundoLi(self, tuplas, row):
        tuplafinal = []
        avisotupla = str(tuplas).replace("<li>", "").replace("</li>",
                                                             "").split("<br/>")
        for aviso in avisotupla:
            a = {}
            if aviso.strip():
                a["id_oferta"] = row
                a["descripcion"] = aviso.strip()
                tuplafinal.append(a)
        return tuplafinal