示例#1
0
def get_posts_usuario():
    busca = Busca(connection)
    try:
        return busca.tabela_cruz()
    except Exception as e:
        print(e)
        return {"error": f"Não foi possivel encontrar a tabela cruzada"}
示例#2
0
def get_url_passaros():
    busca = Busca(connection)
    try:
        return busca.url_passaro()
    except Exception as e:
        print(e)
        return {"error": f"Não foi possivel encontrar url a partir das tags"}
示例#3
0
def get_posts_usuario(user_id: str):
    busca = Busca(connection)
    try:
        return busca.cron_rev(user_id)
    except Exception as e:
        print(e)
        return {"error": "Não foi possivel encontrar posts"}
示例#4
0
def get_url_passaros():
    busca = Busca(connection)
    try:
        return busca.mais_visualizador()
    except Exception as e:
        print(e)
        return {
            "error": f"Não foi possivel encontrar o usuário que mais visualiza"
        }
示例#5
0
def get_pop_cidade():
    busca = Busca(connection)
    try:
        return busca.pop_cidade()
    except Exception as e:
        print(e)
        return {
            "error": "Não foi possivel encontrar o mais popular de cada cidade"
        }
示例#6
0
def get_posts_usuario(user_id: str):
    busca = Busca(connection)
    try:
        return busca.ref_usuario(user_id)
    except Exception as e:
        print(e)
        return {
            "error":
            f"Não foi possivel encontrar usuarios que referenciam o usuário: {user_id}"
        }
示例#7
0
    def test_adiciona_busca(self):
        conn = self.__class__.connection
        pst = Post(conn)
        cid = Cidade(conn)
        user = Usuario(conn)
        vis = Visualizacao(conn)
        aces = Acesso(conn)
        busca = Busca(conn)

        # Pega todas as cidades
        cids = cid.lista()

        oldPst = ('Um novo passaro',
                  'Encontrei um passaro novo na minha caminhada',
                  'https://passarito.com')
        oldUser = ('david', "*****@*****.**", "David Fogelman", cids[0][0])
        newUser = ('david_test', "*****@*****.**", "David Fogelman",
                   cids[0][0])

        user.adiciona(*oldUser)
        id = oldUser[0]
        user.adiciona(*newUser)

        idNew = newUser[0]
        pst.adiciona(id, *oldPst)
        psts = pst.lista()
        idPost = psts[0][0]

        aces.adiciona('127.0.0.1', 'Chrome', 'Android')
        res = aces.lista()
        idAcesso = res[0][0]

        oldVis = (idAcesso, idPost, idNew)
        vis.adiciona(*oldVis)
        time.sleep(2)
        newVis = (idAcesso, idPost, id)
        vis.adiciona(*newVis)
        time.sleep(1)
        vis.adiciona(*newVis)
        viss = vis.lista()
        self.assertTrue(any(elem in viss[0] for elem in oldVis))

        bus = busca.mais_visualizador()
        self.assertIsNotNone(bus)
        self.assertSequenceEqual(bus, (oldUser[0], 2))

        cru = busca.tabela_cruz()[0]
        self.assertIsNotNone(cru)
        self.assertSequenceEqual(cru, ('Android', 'Chrome', 1))
示例#8
0
def main():
    # iniciar = [1, 2, 3, 4, 5, 6, 7, 8, 0]
    # iniciar = [2, 8, 3, 5, 0, 6, 1, 4, 7]  # 14
    # iniciar = [0, 2, 3, 1, 7, 5, 8, 4, 6]  # 8
    iniciar = [1, 2, 3, 7, 0, 8, 6, 4, 5]  # 10
    # iniciar = [1, 2, 3, 4, 5, 6, 7, 8, 0]
    # arvore = list()
    find = Busca()
    no = Node(iniciar, "raiz", None, 0, 0, 9)
    # arvore.extend([1, 2, 3, 4, 5, 6])
    # arvore.clear()
    # print(arvore.__len__())
    # print(iniciar.__class__)
    teste = find.busca_largura(no)
    print(teste.estado)
示例#9
0
    def test_url_tag_ref_usr(self):
        conn = self.__class__.connection
        pst = Post(conn)
        cid = Cidade(conn)
        user = Usuario(conn)
        pas = Passaro(conn)
        busca = Busca(conn)

        # Pega todas as cidades
        cids = cid.lista()

        oldPst = ('Um novo passaro',
                  'Encontrei um passaro novo na minha caminhada @juju #sabia',
                  'https://passarito.com')
        oldPas = ('sabia', 'saiazito sabioluns', 'sabii')
        oldUser = ('david', "*****@*****.**", "David Fogelman", cids[0][0])

        oldUserju = ('juju', "*****@*****.**", "Julia Pessoa", cids[0][0])

        user.adiciona(*oldUser)
        user.adiciona(*oldUserju)
        res = user.acha(oldUser[0])
        resju = user.acha(oldUserju[0])
        pas.adiciona(*oldPas)

        id = res[0]
        pst.adiciona(id, *oldPst)

        psts = pst.lista()
        self.assertTrue(any(elem in psts[0] for elem in oldPst))

        res = pst.acha_por_id(psts[0][0])
        self.assertSequenceEqual(res, psts[0])

        idPost = psts[0][0]
        dici_tags = pst.parser_post(oldPst[1])

        pst.cria_tags(dici_tags, idPost)
        bus = busca.url_passaro()[0]
        self.assertIsNotNone(bus)
        self.assertSequenceEqual((oldPas[0], oldPst[-1]), bus)

        # Teste Ref
        self.assertIsNone(busca.ref_usuario(oldUser[0]))
        self.assertEqual(busca.ref_usuario(oldUserju[0])[0][0], oldUser[0])
示例#10
0
    def test_lista_posts(self):
        conn = self.__class__.connection
        pst = Post(conn)
        cid = Cidade(conn)
        user = Usuario(conn)
        busca = Busca(conn)

        # Pega todas as cidades
        cids = cid.lista()

        psts = [
            ('Um novo passaro', 'Encontrei um passaro novo na minha caminhada',
             'https://passarito.com'),
            ('Um novo passaro inédito',
             'Encontrei um pássaro inédito no meu cooper matinal',
             'https://pterodactilo.com')
        ]
        oldUser = ('david', "*****@*****.**", "David Fogelman", cids[0][0])

        user.adiciona(*oldUser)
        res = user.acha(oldUser[0])
        id = res[0]
        for p in psts:
            pst.adiciona(id, *p)
            time.sleep(1)

        res = pst.lista()
        posts_id = [p[0] for p in res]

        self.assertEqual(len(posts_id), len(psts))

        for p in posts_id:
            pst.remove(p)

        # Verifica que todos os perigos foram removidos.
        res = pst.lista()
        self.assertFalse(res)
        self.assertIsNotNone(busca.cron_rev(id))
        # Teste de ordem reversa
        self.assertEqual(busca.cron_rev(id)[0][1], psts[1][0])
示例#11
0
    def compara_buscas(self, size, element):
        lista = [x for x in range(size)]
        b = Busca()
        antes = time()
        b.busca_sequencial(lista, element)
        depois = time()
        print(f'\nA busca sequencial demorou {depois - antes}')

        antes = time()
        b.busca_binaria(lista, element)
        depois = time()
        print(f'A busca binária demorou {depois - antes}')

        antes = time()
        b.busa_binaria_recursiva(lista, element)
        depois = time()
        print(f'A busca binária recursiva demorou {depois - antes}\n')
示例#12
0
    def test_busca_mais_pop(self):
        conn = self.__class__.connection
        pst = Post(conn)
        cid = Cidade(conn)
        user = Usuario(conn)
        pas = Passaro(conn)
        aces = Acesso(conn)
        vis = Visualizacao(conn)
        busca = Busca(conn)

        # Pega todas as cidades
        cids = cid.lista()

        oldPst = ('Um novo passaro',
                  'Encontrei um passaro novo na minha caminhada @juju #sabia',
                  'https://passarito.com')
        oldPas = ('sabia', 'saiazito sabioluns', 'sabii')
        oldUser = ('david', "*****@*****.**", "David Fogelman", cids[0][0])

        oldUserju = ('juju', "*****@*****.**", "Julia Pessoa", cids[0][0])

        user.adiciona(*oldUser)
        user.adiciona(*oldUserju)
        id = oldUser[0]

        idJu = oldUserju[0]
        pst.adiciona(id, *oldPst)
        pst.adiciona(idJu, *oldPst)

        psts = pst.lista()
        res = pst.acha_por_id(psts[0][0])

        aces.adiciona('127.0.0.1', 'Chrome', 'Android')
        res = aces.lista()
        idAcesso = res[0][0]

        oldVis = [(idAcesso, psts[0][0], idJu), (idAcesso, psts[0][0], idJu),
                  (idAcesso, psts[0][0], idJu), (idAcesso, psts[1][0], id),
                  (idAcesso, psts[1][0], id)]

        for v in oldVis:
            vis.adiciona(*v)
            time.sleep(1)
示例#13
0
文件: main.py 项目: imkimura/works
from busca import Busca
from node import Node

if __name__ == '__main__':

    state = [2, 3, 0, 4, 1, 7, 8, 12, 5, 10, 6, 15, 9, 13, 11, 14]

    n = Node(state=state)

    n.printNo()

    b = Busca()

    #     resp, nosGerados = b.buscaAprofIterativo(n) # IDS
    #     resp, nosGerados = b.buscaGulosaME(n, 0) # GME H1
    #     resp, nosGerados = b.buscaGulosaME(n, 1) # GME H2
    resp, nosGerados = b.buscaAplus(n, 0)  # A* H1
    #     resp, nosGerados = b.buscaAplus(n,1) # A* H2

    print('\n ----------------- Final ----------------------')

    resp.printResult()

    print(f'\n\nTotal de nós gerados igual a : {nosGerados}')
 def buscar(self, chave_busca):
     return Busca().buscar(chave_busca, self.matriz)