def __insertar(self, raiz, carpeta): subir = False mediana = NodoB.NodoB("") nueva = Pagina.Pagina() raiz_ = Pagina.Pagina() subir, mediana, nueva, raiz_ = self.__mover(raiz, carpeta, mediana, nueva) if subir: auxiliar = Pagina.Pagina() auxiliar.cuenta = 1 auxiliar.nodos[1] = mediana auxiliar.ramas[0] = raiz_ auxiliar.ramas[1] = nueva raiz_ = auxiliar return raiz_
def __insertar(self, raiz, artista): subir = False mediana = NodoB.NodoB("", None) nuevo = Pagina.Pagina() raiz_ = Pagina.Pagina() subir, mediana, nuevo, raiz_ = self.__mover(raiz, artista, mediana, nuevo) if subir: auxiliar = Pagina.Pagina() auxiliar.cuenta = 1 auxiliar.nodos[1] = mediana auxiliar.ramas[0] = raiz_ auxiliar.ramas[1] = nuevo raiz_ = auxiliar return raiz_
def __eliminar(self, raiz, artista): encontrado = False raiz_ = Pagina.Pagina() encontrado, raiz_ = self.__eliminarNodo(raiz, artista, encontrado) if encontrado: # "El artista fue eliminado." if raiz_.estaVacia(): raiz_ = raiz_.ramas[0] else: raiz_ = self.raiz return raiz_
def __eliminar(self, raiz, nombre): encontrado = False raiz_ = Pagina.Pagina() encontrado, raiz_ = self.__eliminarNodo(raiz, nombre, encontrado) if encontrado: print "Carpeta "+ ID + " fue eliminada." if raiz_.estaVacia(): raiz_ = raiz_.ramas[0] else: print "No existe la carpeta." raiz_ = self.raiz return raiz_
def renovaLivro(url): pagina = Pagina(settings.URL_BIBLIOTECA_IFET + url) pagina.abrirUrl() texto = pagina.getTexto() print texto regexEmprestimoJaFeito = re.compile(r'<h2>(.*?)</h2>') try: empresitmoJaFeito = re.findall(regexEmprestimoJaFeito, texto)[0].decode('ISO-8859-1').encode('UTF-8') if(empresitmoJaFeito == 'Empréstimo ou renovação efetuada no dia de hoje!'): print 'emprestimo ja feito hoje' return False #ja feito else: #nao feito pass except: pass #nao feito hoje #Empréstimo ou renovação efetuada no dia de hoje! return True
def __dividirPagina(self, actual, mediana, nueva, indice): posicion = 0 if (indice <= self.medio): posicion = self.medio else: posicion = self.medio + 1 auxiliar = Pagina.Pagina() contador = posicion + 1 while(contador < self.orden): auxiliar.nodos[contador - posicion] = actual.nodos[contador] auxiliar.ramas[contador - posicion] = actual.ramas[contador] contador = contador + 1 auxiliar.cuenta = (self.orden - 1) - posicion actual.cuenta = posicion if (indice <= self.medio): actual = self.__insertarEnHoja(actual, mediana, nueva, indice) else: auxiliar = self.__insertarEnHoja(auxiliar, mediana, nueva, indice - posicion) mediana = actual.nodos[actual.cuenta] auxiliar.ramas[0] = actual.ramas[actual.cuenta] actual.cuenta = actual.cuenta - 1 return actual, mediana, auxiliar
def verificaLogin(matricula, senha): print "\n\n\t\tLogin\n\n" login = LoginBibliotecaIfet(matricula, senha) paginaBarraCabecalho = Pagina(URL_BIBLIOTECA_IFET_COMPLETA) paginaBarraCabecalho.abrirUrl() textoBarraCabecalho = paginaBarraCabecalho.getTexto() regexUrlRenovacao = re.compile(r'name="cabecalho" .*src="(.*?)"') try: urlServicosRenovacaoReservas = URL_BIBLIOTECA_IFET + re.findall(regexUrlRenovacao, textoBarraCabecalho)[0] except IndexError as e: print e paginaLogin = Pagina(urlServicosRenovacaoReservas) paginaLogin.abrirUrl() textoPaginaLogin = paginaLogin.getTexto() regexUrlPaginaLogin = re.compile(r'href="(.*?)".*Servi') urlPaginaLogin = URL_BIBLIOTECA_IFET + re.findall(regexUrlPaginaLogin, textoPaginaLogin)[0] cookieJar = cookielib.CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookieJar)) temp = Pagina(urlPaginaLogin) temp.abrirUrl() textoTemp = temp.getTexto() regexUrlTemp = re.compile(r'name="tmp" value="(.+?)"') urlTemp = re.findall(regexUrlTemp, textoTemp)[0] regexUrlIsisScript = re.compile(r'name="IsisScript" value="(.+?)"') urlIsisScript = re.findall(regexUrlIsisScript, textoTemp)[0] login.setNomeCampoIsisScript('IsisScript') login.setNomeCampoTmp('tmp') login.setIsisScript(urlIsisScript) login.setTmp(urlTemp) dadosLogin = urllib.urlencode({'IsisScript' : urlIsisScript, 'tmp' : urlTemp, 'login' : login.getUsuario(), 'pwd' : login.getSenha()}) respostaMenu = opener.open(URL_BIBLIOTECA_IFET_POST, dadosLogin) textoRespostaMenu = respostaMenu.read() regexUrlExtrato = re.compile(r'href="(.*?)".*Extrato') try: urlExtrato = URL_BIBLIOTECA_IFET + re.findall(regexUrlExtrato, textoRespostaMenu)[0] json_login = {'login' : 'correto'} except IndexError as e: regexSenhaIncorreta = re.compile(r'<h2>(.*)</h2>') textoSenhaIncorreta = re.findall(regexSenhaIncorreta, textoRespostaMenu)[0] if textoSenhaIncorreta.decode('ISO-8859-1').encode('UTF-8') == 'Senha Inválida': json_login = {'login' : 'incorreto'} return json_login
import urllib, urllib2, cookielib from Pagina import * from LoginBibliotecaIfet import * from settings import * import getpass if __name__ == '__main__': print "\n\n\t\tCOMECA AKIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII\n\n" login = LoginBibliotecaIfet('6947', getpass.getpass()) #login = LoginBibliotecaIfet('1', '1') paginaBarraCabecalho = Pagina(URL_BIBLIOTECA_IFET_COMPLETA) paginaBarraCabecalho.abrirUrl() urlServicosRenovacaoReservas = paginaBarraCabecalho.getTexto('cabecalho', 'src="', '" target') urlResultado = URL_BIBLIOTECA_IFET + paginaBarraCabecalho.getTexto('name="result"', 'src="', '" target') urlMenu = URL_BIBLIOTECA_IFET + paginaBarraCabecalho.getTexto('name="menu"', 'src="', '" margin') #paginaBarraCabecalho.fechaUrl() paginaLogin = Pagina(urlServicosRenovacaoReservas) paginaLogin.abrirUrl() urlPaginaLogin = paginaLogin.getTexto('Reservas', 'href="', '" target') paginaLogin.fechaUrl()
def __init__ (self): self.raiz = Pagina.Pagina() self.orden = 5 self.medio = self.orden / 2
def buscaExtrato(matricula, senha): print "\n\n\t\tExtrato\n\n" #login = LoginBibliotecaIfet('6947', getpass.getpass()) login = LoginBibliotecaIfet(matricula, senha) #login = LoginBibliotecaIfet('1', '1') paginaBarraCabecalho = Pagina(URL_BIBLIOTECA_IFET_COMPLETA) paginaBarraCabecalho.abrirUrl() textoBarraCabecalho = paginaBarraCabecalho.getTexto() regexUrlRenovacao = re.compile(r'name="cabecalho" .*src="(.*?)"') #regexUrlResultado = re.compile(r'name="result" .*src="(.*?)"') #regexUrlMenu = re.compile(r'name="menu" .*src="(.*?)"') try: urlServicosRenovacaoReservas = URL_BIBLIOTECA_IFET + re.findall(regexUrlRenovacao, textoBarraCabecalho)[0] #urlResultado = URL_BIBLIOTECA_IFET + re.findall(regexUrlResultado, textoBarraCabecalho)[0] #urlMenu = URL_BIBLIOTECA_IFET + re.findall(regexUrlMenu, textoBarraCabecalho)[0] except IndexError as e: print e paginaLogin = Pagina(urlServicosRenovacaoReservas) paginaLogin.abrirUrl() textoPaginaLogin = paginaLogin.getTexto() #regexUrlPaginaBuscas = re.compile(r'href="(.*?)".*Buscas') #urlPaginaBuscas = URL_BIBLIOTECA_IFET + re.findall(regexUrlPaginaBuscas, textoPaginaLogin)[0] regexUrlPaginaLogin = re.compile(r'href="(.*?)".*Servi') urlPaginaLogin = URL_BIBLIOTECA_IFET + re.findall(regexUrlPaginaLogin, textoPaginaLogin)[0] cookieJar = cookielib.CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookieJar)) temp = Pagina(urlPaginaLogin) temp.abrirUrl() textoTemp = temp.getTexto() regexUrlTemp = re.compile(r'name="tmp" value="(.+?)"') urlTemp = re.findall(regexUrlTemp, textoTemp)[0] regexUrlIsisScript = re.compile(r'name="IsisScript" value="(.+?)"') urlIsisScript = re.findall(regexUrlIsisScript, textoTemp)[0] login.setNomeCampoIsisScript('IsisScript') login.setNomeCampoTmp('tmp') login.setIsisScript(urlIsisScript) login.setTmp(urlTemp) dadosLogin = urllib.urlencode({'IsisScript' : urlIsisScript, 'tmp' : urlTemp, 'login' : login.getUsuario(), 'pwd' : login.getSenha()}) respostaMenu = opener.open(URL_BIBLIOTECA_IFET_POST, dadosLogin) textoRespostaMenu = respostaMenu.read() regexUrlExtrato = re.compile(r'href="(.*?)".*Extrato') try: urlExtrato = URL_BIBLIOTECA_IFET + re.findall(regexUrlExtrato, textoRespostaMenu)[0] except IndexError as e: regexSenhaIncorreta = re.compile(r'<h2>(.*)</h2>') textoSenhaIncorreta = re.findall(regexSenhaIncorreta, textoRespostaMenu)[0] print textoSenhaIncorreta if textoSenhaIncorreta.decode('ISO-8859-1').encode('UTF-8') == 'Senha Inválida': json_erro = {'erro' : 'senha_incorreta'} return json_erro extratoRenovacao = opener.open(urlExtrato) textoExtratoRenovacao = extratoRenovacao.read().decode('ISO-8859-1').encode('UTF-8') extrato = extraiExtrato(textoExtratoRenovacao) print extrato return extrato
def __init__(self, orden): self.grafo = "" self.orden = orden self.medio = orden / 2 self.raiz = Pagina.Pagina()
def buscaLivro(textoBusca, paginaAtual=1, proximaPagina=1): print "\n\n\t\tBusca\n\n" #textoBusca = raw_input('Digite um texto para buscar: ') #textoBusca = 'Usando linux' #textoBusca = 'aaaaaaaaaaaaaaaaaaaaaaa' #nao encontrado paginaBarraCabecalho = Pagina(URL_BIBLIOTECA_IFET_COMPLETA) paginaBarraCabecalho.abrirUrl() textoBarraCabecalho = paginaBarraCabecalho.getTexto() regexUrlRenovacao = re.compile(r'name="cabecalho" .*src="(.*?)"') try: urlServicosRenovacaoReservas = URL_BIBLIOTECA_IFET + re.findall(regexUrlRenovacao, textoBarraCabecalho)[0] except IndexError as e: print e paginaLogin = Pagina(urlServicosRenovacaoReservas) paginaLogin.abrirUrl() textoPaginaLogin = paginaLogin.getTexto() regexUrlPaginaBuscas = re.compile(r'href="(.*?)".*Buscas') urlPaginaBuscas = URL_BIBLIOTECA_IFET + re.findall(regexUrlPaginaBuscas, textoPaginaLogin)[0] temp = Pagina(urlPaginaBuscas) temp.abrirUrl() textoTemp = temp.getTexto() regexUrlTemp = re.compile(r'name="tmp" value="(.+?)"') urlTemp = re.findall(regexUrlTemp, textoTemp)[0] regexUrlIsisScript = re.compile(r'name="IsisScript" value="(.+?)"') urlIsisScript = re.findall(regexUrlIsisScript, textoTemp)[0] regexAnterior = re.compile(r'type="hidden" name="ante" value="(.*)"') regexProxima = re.compile(r'type="hidden" name="prox" value="(.*)"') regexUltima = re.compile(r'type="hidden" name="ulti" value="(.*)"') try: anterior = re.findall(regexAnterior, textoTemp)[0] proxima = re.findall(regexProxima, textoTemp)[0] ultima = re.findall(regexUltima, textoTemp)[0] except: anterior = '' proxima = '' ultima = '' anterior = paginaAtual proxima = int(proximaPagina) * NUMERO_RESULTADOS_PAGINA + 1 ultima = '100000' #exp == campo texto tipoPesquisa = 'and' #and = Todas palavras; or = qualquer palavra; frase = frase exata/ exp = expressao dadosBusca = urllib.urlencode({'tmp' : urlTemp, 'exp' : textoBusca, 'bool' : tipoPesquisa, 'IsisScript' : urlIsisScript, 'acv' : '', 'cnt' : '', 'col' : '', 'idm' : '', 'ptf' : 'decorado', 'rpp' : str(NUMERO_RESULTADOS_PAGINA), 'spt' : '', 'stf' : '', 'tag' : '', 'tip' : '', 'idx' : '', 'ante' : anterior, 'prox' : proxima, 'ulti' : ultima, 'opc.x' : 378, 'opc.y' : 17}) #voltar = 'opc.x' : 376, 'opc.y' : 12 #proxima = 'opc.x' : 378, 'opc.y' : 17 cookieJar = cookielib.CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookieJar)) respostaBusca = opener.open(URL_BIBLIOTECA_IFET_POST, dadosBusca) textoRespostaBusca = respostaBusca.read()#.decode('ISO-8859-1').encode('UTF-8') #print textoRespostaBusca htmlResultado = getHTMLResultado(textoRespostaBusca) listaJson = [] for x in htmlResultado: dados = extraiDadosLivro(x) listaJson.append(dados) print dados print '' return listaJson