def obterLinksPorIntervaloDeIdentificacao(self, id1, id2): sql = ' SELECT l.* FROM Link l WHERE l.id BETWEEN :id1 AND :id2 ' return db_session.query(Link).from_statement(text(sql)).params(id1=id1, id2=id2).all()
def findByTermo(self, termo): sql = " select * from TermoDocumento where lower(texto) = lower(:termo) " return db_session.query(TermoDocumento).from_statement(text(sql)).params(termo=termo).first()
def obterLinksNaoColetados(self): sql = ' SELECT l.* FROM Link l WHERE l.ultimaColeta IS NULL ' return db_session.query(Link).from_statement(text(sql)).all()
def atualizaDataUltimaColeta(self, host, dataIso): sql = ' UPDATE Link l SET l.ultimaColeta = :data WHERE l.url LIKE (%'+host+'%) ' data = utilsService.isoToDate(dataIso) db_session.query(Link).from_statement(text(sql)).params(data=data) return len(self.findByUrlLike(host))
def encontrarSementesPorIntervaloDatas(self, dateIso1, dateIso2): sql = ' SELECT l.* FROM Link l WHERE l.ultimaColeta BETWEEN :dt1 AND :dt2 ' date1 = utilsService.isoToDate(dateIso1) date2 = utilsService.isoToDate(dateIso2) return db_session.query(Link).from_statement(text(sql)).params(dt1=date1, dt2=date2).all()
def encontrarSementePorHost(self, link): sql = ' SELECT l.* FROM Link l WHERE l.url LIKE "%'+link+'%" AND l.ultimaColeta IS NULL ' return db_session.query(Link).from_statement(text(sql)).all()
def getEntradasIndiceInvertido(self, termoConsulta): sql = ' select i.* from TermoDocumento t, IndiceInvertido i, Documento d where t.id = i.termo_id and i.documento_id = d.id and t.texto = :termoConsulta ' return db_session.query(IndiceInvertido).from_statement( text(sql)).params(termoConsulta=termoConsulta.texto).all()