예제 #1
0
	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_
예제 #4
0
	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
예제 #6
0
	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
예제 #8
0
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()
예제 #9
0
	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()
예제 #12
0
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