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"}
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"}
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"}
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" }
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" }
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}" }
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))
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)
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])
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])
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')
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)
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)