renix1

Pesquisa contextual with GUI

Sep 1st, 2016
261
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 27.16 KB | None | 0 0
  1. # coding: utf-8
  2.  
  3. from tkinter import *
  4.  
  5. class Janela(object):
  6.     def __init__(self, master):
  7.         self.frame_one = Frame()
  8.         self.frame_one.pack()
  9.         self.frame_one.configure(bg="gray92")
  10.         self.frame_two = Frame()
  11.         self.frame_two.pack()
  12.         self.frame_two.configure(bg="gray92")
  13.         self.frame_three = Frame()
  14.         self.frame_three.pack(fill=X)
  15.         self.frame_three.configure(bg="gray92")
  16.         #MODELANDO O CONTAINER COM WIDGETS
  17.         #Texto //usuário
  18.         scroll_texto = Scrollbar(self.frame_one)
  19.         scroll_texto.pack(side=RIGHT, fill=Y, pady=5)
  20.         Label(self.frame_one, text="Seu texto: ", fg="black", bg="gray92").pack(side=TOP)
  21.         self.texto = Text(self.frame_one, height=10, width=45, yscrollcommand=scroll_texto.set, wrap=WORD)
  22.         self.texto.pack(side=RIGHT, pady=10, padx=10)
  23.         scroll_texto.config(command=self.texto.yview)
  24.         #Itens //pronomes, subs, adj e etc...
  25.         scroll_texto_2 = Scrollbar(self.frame_two)
  26.         scroll_texto_2.pack(side=RIGHT, fill=Y, pady=5)
  27.         Label(self.frame_two, text="Itens: ", fg="black", bg="gray92").pack(side=TOP)
  28.         self.itens = Text(self.frame_two, height=10, width=45, yscrollcommand=scroll_texto_2.set, wrap=WORD)
  29.         self.itens.pack(side=RIGHT, pady=10, padx=10)
  30.         scroll_texto_2.config(command=self.texto.yview)
  31.         encontrar = Button(self.frame_three, text="Encontrar", fg="black", bg="gray92", command=self.analisar_tudo)
  32.         encontrar.pack(pady=4, side=TOP)
  33.     def analisar_pronomes(self, texto):
  34.         texto = texto.replace(',', '')
  35.         texto = texto.split()
  36.         pronomes = ['meu', 'teu', 'seu', 'nosso', 'vosso',
  37.         'meus', 'teus', 'seus', 'nossos', 'vossos', 'seus',
  38.         'minha', 'tua', 'sua', 'nossa', 'vossa', 'sua','minhas',
  39.         'tuas', 'suas', 'nossas', 'vossas', 'suas', 'eu', 'tu', 'ele', 'ela',
  40.         'nós', 'vós', 'eles', 'elas', 'me', 'te', 'se', 'o', 'a', 'lhe', 'nos',
  41.         'vos', 'se', 'os', 'as', 'lhes', 'mim', 'comigo', 'ti', 'contigo', 'si', 'ele',
  42.         'consigo', 'nós', 'conosco', 'vós', 'convosco', 'si', 'eles', 'consigo',
  43.         'este', 'esse', 'qualquer', 'algo', 'cada', 'algum', 'que?', 'quem?', 'qual?', 'onde', 'cujo'
  44.         'cuja', 'qual']
  45.        
  46.         pronomes_contidos = []
  47.  
  48.         for pronome in pronomes:
  49.             if pronome in texto:
  50.                 pronomes_contidos.append(pronome)
  51.         else:
  52.             if len(pronomes_contidos) < 1:
  53.                 return ["não há pronomes"]
  54.             else:
  55.                 # print("\nPronomes contidos: ")
  56.                 for pronome in pronomes_contidos:
  57.                     pass
  58.                 else:
  59.                     return pronomes_contidos
  60.  
  61.     def analisar_substantivos(self, texto):
  62.         texto = texto.replace(',', '')
  63.         texto = texto.replace('.', '')
  64.         texto = texto.split()
  65.         substantivos = ['bode', 'boi', 'cão', 'carneiro', 'cavaleiro', 'cavalheiro',
  66.         'cavalo', 'compadre', 'frade', 'frei', 'genro', 'homem', 'padrasto', 'padre',
  67.         'pai', 'veado', 'zangado', 'cabra', 'vaca', 'cadela', 'ovelha', 'amazona',
  68.         'dama', 'égua', 'comadre', 'freira', 'sóror', 'nora', 'mulher', 'madrasta',
  69.         'madre', 'mãe', 'cerva', 'abelha', 'amigo', 'amiga', 'chapéu', 'forno',
  70.         'fogo', 'mão', 'mala', 'nariz', 'navio', 'pedra', 'povo', 'rapaz', 'voz',
  71.         'amigaço', 'amigalhaço', 'amigão', 'animalaço', 'animalão', 'bocarra',
  72.         'boqueirão', 'bocaça', 'cabeçorra', 'cabeção', 'canzarrão', 'canaz',
  73.         'chapelão', 'chapeirão', 'copázio', 'coparrão', 'bola', 'madeira'
  74.         'criançona', 'cruzeiro', 'dentão', 'dentilhão', 'fogáreu', 'fornalha',
  75.         'colo', 'cruz', 'dente', 'livro', 'jornal', 'homem', 'mulher', 'gato',
  76.         'gata', 'criança', 'corja', 'alcateia', 'arquipélago', 'banca', 'bando',
  77.         'cáfila', 'cancioneiro', 'cardume', 'chusma', 'elenco', 'feixe', 'girândola',
  78.         'manada', 'junta', 'molho', 'ninhada', 'quadrilha', 'ramalhete', 'recua', 'vara',
  79.         'armento', 'atilho', 'banda', 'cacho', 'caravana', 'choldra', 'constelação',
  80.         'coro', 'falange', 'fato', 'erota', 'legião', 'matilha', 'multidão', 'plêiade',
  81.         'romanceiro', 'rebanho', 'réstia', 'súcia', 'iconoteca', 'panapaná',
  82.         'balão', 'balões', 'canção', 'canções', 'confissão', 'confissões', 'coração',
  83.         'corações', 'eleição', 'eleições', 'estação', 'estações', 'fração', 'frações',
  84.         'gavião', 'gaviões', 'limão', 'limões', 'mamão', 'mamões', 'nação', 'nações',
  85.         'operação', 'operações', 'questão', 'questões', 'tubarão', 'tubarões', 'leão',
  86.         'leões', 'varão', 'varões', 'guaraná', 'gambá', 'laringe', 'pernoite', 'sabiá',
  87.         'diabete', 'fênix', 'língua', 'pessoa', 'luz', 'matéria', 'escola', 'chicletes',
  88.         'chiclete', 'perna', 'homens', 'mulheres', 'baiano', 'Jorge', 'trupe', 'acrobáta',
  89.         'cidade', 'crianças', 'asfalto', 'ponte', 'rua', 'caminho', 'viaduto', 'Leblon',
  90.         'testa', 'escola', 'caneta', 'papel', 'casa', 'flor', 'guarda-roupa', 'girassol',
  91.         'passatempo', 'pombo-correio', 'folha', 'árvore', 'fruta', 'terra', 'terreiro', 'pedregulho',
  92.         'folhagem', 'florista', 'saci', 'sereia', 'fada', 'fogo', 'honestidade', 'tristeza',
  93.         'amor', 'beijo', 'felicidade', 'abraço', 'animal', 'país', 'praça', 'mulher', 'biblioteca',
  94.         'fauna', 'matilha', 'penca', 'batalhão', 'menino', 'menina', 'sampa', 'ianomânis', 'benjor',
  95.         'garoto', 'garotos', 'garota', 'garotas', 'meninos', 'meninas', 'batata', 'serviçal',
  96.         'alegria', 'floresta', 'esgoto', 'cocar', 'pluma', 'plumas', 'forte', 'pistola', 'cano',
  97.         'pé', 'trabalho', 'lugar', 'local', 'mundo', "puta", "prostituta", "nenhum", "nenhuma",
  98.         "outro", "outra", "outrem", "vagabunda", "vagabundo", "galinha", "cadela", "algemas", "algema",
  99.         "imagem", "vídeos", "vídeo", "foto", "fotos", "imagens", "hd", "harddisk", "hds", "harddisks",
  100.         "freezer", "congelador", "geladeira", "baseado", "pano", "tecido", "tela", "monitor",
  101.         "computador", "notebook", "macbook", "steve", "jobs", "bill", "gates", "windows", "apple",
  102.         "microsoft", "mac", "linux", "gnu", "unix", "ubuntu", "debian", "redhat", "suse",
  103.         "sistema operacional", "operating system", "processador", "memória",
  104.         "cérebro", "jogo", "cliente", "executável", "olho", "púpila", "púpilas", "olhos",
  105.         "cabelo", "cabelos", "tornozelo", "tornozelos", "dedos", "unhas", "boné", "bonés",
  106.         "roupa", "roupas", "casaco", "casacos", "camisa", "camisas", "calça", "calças", "meia",
  107.         "meias", "hora", "ponteiro", "número", "ps4", "xbox one", "playstation 4", "playstation",
  108.         "sony", "mmo", "rpg", "fps", "tower", "defense", "macaco", "monkey", "baloons", "merda",
  109.         "bosta", "cooler", "gabinete", "new", "york", "city", "document", "documento", "planta",
  110.         "plantas", "pasta", "pastas", "monte", "quarto", "sala", "cozinha", "banheiro", "gcc",
  111.         "codeblocks", "audacity", "photoshop", "adobe", "gimp", "kdenlive", "python", "c++", "c#",
  112.         "java", "script", "html5", "html", "css", "steam", "origin", "godot", "darwin", "unix",
  113.         "perl", "c#", "lua", "sol", "minix", "bsd", "kernel", "ibm", "dell", "acer", "apollo",
  114.         "os", "ubuntu", "beos", "morphos", "elementary", "mint", "amigaos", "hp", "cpu",
  115.         "memory", "devices", "applications", "application", "driver", "drivers", "disk", "disco",
  116.         "memoria", "memória", "network", "networking", "rede", "cia", "fbi", "nsa", "reactos",
  117.         "react", "android", "gentoo", "funtoo", "ios", "blackberry", "posix", "tron", "oberon",
  118.         "mainframe", "symbian", "hurd", "realtime", "cisco", "petros", "superdos", "freedos",
  119.         "solaris", "sinclair", "netware", "skynet", "historia", "history", "people", "pessoas",
  120.         "pessoa", "caminho", "arte", "art", "way", "mundo", "world", "terra", "earth", "information",
  121.         "informação", "map", "mapa", "family", "família", "government", "governo", "health", "vida",
  122.         "saúde", "system", "sistema", "computer", "carne", "meat", "ano", "year", "music", "música",
  123.         "thanks", "person", "pessoa", "reading", "leitura", "method", "método", "data", "dados",
  124.         "conhecimento", "teoria", "theory", "understanding", "law", "lei", "bird", "pássaro",
  125.         "passaro", "literatura", "literature", "problem", "problema", "software", "programa",
  126.         "control", "controle", "knowledge", "força", "poder", "habilidade", "power", "ability",
  127.         "economics", "economia","love", "amor", "internet", "television", "televisão", "science",
  128.         "ciência", "library", "biblioteca", "fact", "fato", "product", "produto", "idea", "ideia",
  129.         "temperature", "temperatura", "investment", "investimento", "area", "área", "activity",
  130.         "atividade", "story", "industry", "indústria", "industria", "media", "thing", "mídia",
  131.         "média", "thing", "coisa", "oven", "forno", "community", "comunidade", "definition",
  132.         "definição", "safety", "segurança", "quality", "qualidade", "development", "desenvolvimento",
  133.         "language", "linguagem", "management", "gerenciamento", "player", "jogador", "variety",
  134.         "variedade", "video", "vídeo", "week", "semana", "semanas", "weeks", "years", "security",
  135.         "country", "país", "exam", "exame", "movie", "filme", "organization", "organização",
  136.         "equipment", "equipamento", "physics", "analysis", "análise", "analise", "policy",
  137.         "política", "series", "séries", "thought", "basis", "base", "namorado", "namorada",
  138.         "direction", "direção", "direçao", "direcao", "strategy", "estratégia", "estrategia",
  139.         "technology", "tecnologia", "tecnológico", "army", "exército", "exercito", "camera",
  140.         "câmera", "freedom", "liberdade", "paper", "papel", "environment", "ambiente", "child",
  141.         "criança", "crianca", "instance", "instância", "instancia", "month", "months", "mês",
  142.         "mes", "meses", "truth", "verdade", "marketing", "market", "university", "loja", "lojas",
  143.         "markets", "universidade", "universidades", "writing", "article", "artigo", "department",
  144.         "departamento", "difference", "diferença", "goal", "ponto", "gol", "meta", "objetivo",
  145.         "news", "notícias", "notícia", "noticias", "noticia", "audience", "audiência", "audiencia",
  146.         "fishing", "pesca", "growth", "crescimento", "income", "renda", "receita", "salario", "salário",
  147.         "casamento", "união", "uniao", "matrimônio", "matrimonio", "user", "usuário", "usuario", "combination",
  148.         "combinação", "combinacao", "combinaçao", "failure", "fracasso", "falha", "meaning", "significado",
  149.         "medicine", "medicina", "philosophy", "teacher", "professor", "aluno", "communication", "comunicação",
  150.         "comunicaçao", "comunicacao", "night", "noite", "day", "days", "nights", "dias", "dia", "noites",
  151.         "energy", "energia", "disease", "doença", "chemistry", "nation", "nação", "naçao", "road", "estrada",
  152.         "rodovia", "role", "soup", "sopa", "adsvertising", "anúncio", "anuncio", "location", "locação", "sucess",
  153.         "sucesso", "addition", "adição", "soma", "apartment", "apartamento", "education", "educação", "educaçao",
  154.         "educacao", "moment", "momento", "painting", "pintura", "politics", "politica", "políticas", "politicas",
  155.         "político", "politico", "attention", "atenção", "atençao", "atencao", "decision", "decisão", "decisao",
  156.         "event", "evento", "property", "propiedade", "shopping", "student", "estudante", "secundarista", "wood",
  157.         "madeira", "competition", "competição", "competiçao", "competicao", "entertainment", "entreterimento",
  158.         "office", "distribution", "distribuição", "distribuiçao", "distribuicao", "population", "população",
  159.         "president", "presidente", "unit", "unidade", "métrica", "metrica", "category", "categoria", "cigarette",
  160.         "context", "contexto", "introduction", "introdução", "introduçao", "introducao", "opportunity", "oportunidade",
  161.         "perfomance", "desempenho", "driver", "motorista", "ônibus", "carro", "onibus", "van", "flight", "vôo",
  162.         "voo", "comprimento", "lenght", "magazine", "revista", "newspaper", "jornal", "relationship", "relacionamento",
  163.         "teaching", "ensino", "cell", "celular", "smartphone", "phone", "tellphone", "telphone", "dealer", "traficante",
  164.         "negociante", "vendedor", "comprador", "comerciante", "member", "membro", "finding", "lake", "lago", "message",
  165.         "mensagem", "appearance", "aparência", "aparencia", "association", "associação", "assoaciacao", "associaçao",
  166.         "concept", "conceito", "customer", "cliente", "consumidor", "death", "morte", "discussion", "discussão", "discussao",
  167.         "housing", "habitação", "habitacao", "habitaçao", "inflation", "inflação", "inflaçao", "inflacao", "insurance", "seguro",
  168.         "mood", "humor", "woman", "mulher", "feminino", "feminismo", "feminista", "feminazi", "advice", "conselho", "conselhos",
  169.         "aconselhamento", "acessoria", "blood", "sangue", "effort", "esforço", "expression", "expressão", "importance", "expressao",
  170.         "importância", "importancia", "opinion", "opinião", "payment", "pagamento", "reality", "realidade", "responsability",
  171.         "realidade", "situation", "situação", "situacao", "situaçao", "skill", "skills", "statement", "condição", "condicao",
  172.         "condiçao", "wealth", "riqueza", "aplicação", "aplicações", "depth", "profundidade", "estate", "patrimônio",
  173.         "patrimonio", "imobiliário", "imobiliario", "foundation", "fundação", "fundacao", "fundaçao", "grandmother", "avó",
  174.         "avo", "heart", "coração", "coracao", "coraçao", "perspective", "perspectiva", "photo", "foto", "recipe", "recipiente",
  175.         "studio", "estúdio", "estudio", "topic", "tópico", "topico", "collection", "coleção", "colecao", "coleçao", "depression",
  176.         "depressão", "depressao", "imagination", "imaginação", "imaginacao", "imaginaçao", "passion", "paixão", "paixao", "percentage",
  177.         "porcentagem", "resource", "recursos", "fonte", "recurso", "setting", "definições", "ajustes", "ajuste", "ad", "ads",
  178.         "agency", "agência", "agencia", "college", "colégio", "colegio", "debt", "débito", "debito", "criticism", "criticismo",
  179.         "connection", "conexão", "conexao", "description", "descrição", "descriçao", "descricao", "ram", "patience", "paciência",
  180.         "paciencia", "mineswepper", "secretary", "secretária", "secretaria", "solution", "solução", "solucao", "soluçao", "administration",
  181.         "administrations", "administração", "administrações", "apsect", "aspecto", "altitude", "longitude", "director", "diretor",
  182.         "personality", "personalidade", "psicologia", "psicoanálise", "usp", "ufp", "urj", "mackenzie", "fam", "reforma"
  183.         ]
  184.  
  185.         substantivos_pos = 'Chinelos, vaso, descarga. Pia, sabonete. Escova, creme dental, espuma, creme de barbear, pincel, espuma, gilete, cortina, sabonete, água fria, toalha. Creme para cabelo; pente. Cueca, camisa, abotoaduras, calça, meias, sapatos, gravata, paletó. Carteira, níqueis, documentos, caneta, chaves, lenço, relógio, maços de cigarros, caixa de fósforos. Jornal. Mesa, cadeiras, xícara e pires, prato, bule, talheres, guardanapos. Quadros. Pasta, carro. Cigarro, fósforo. Mesa e poltrona, cadeira, cinzeiro, papéis, telefone, agenda, copo com lápis, canetas, blocos de notas, espátula, pastas, caixas de entrada, de saída, vaso com plantas, quadros, papéis, cigarro, fósforo. Bandeja, xícara pequena. Cigarro e fósforo. Papéis, telefone, relatórios, cartas, notas, vales, cheques, memorandos, bilhetes, telefone, papéis. Relógio. Mesa, cavalete, cinzeiros, cadeiras, esboços de anúncios, fotos, cigarro, fósforo, bloco de papel, caneta, projetos de filmes, xícara, cartaz, lápis, cigarro, fósforo, quadro-negro, giz, papel. Mictório, pia, Táxi. Mesa, toalha, cadeiras, copos, pratos, talheres, garrafa, guardanapo, xícara. Maço de cigarros, caixa de fósforos'
  186.         substantivos_pos = substantivos_pos.lower()
  187.         substantivos_pos = substantivos_pos.split()
  188.  
  189.         for substantivo in substantivos_pos:
  190.             if substantivo == 'de':
  191.                 substantivos_pos.remove('de')
  192.             elif substantivo == 'com':
  193.                 substantivos_pos.remove('com')
  194.             elif substantivo == 'e':
  195.                 substantivos_pos.remove('e')
  196.             elif substantivo == 'para':
  197.                 substantivos_pos.remove('para')
  198.             else:
  199.                 pass
  200.  
  201.         substantivos_post = [" acre", "alagoas", "amapá", "amazonas", "bahia", "ceará",
  202.         "distrito federal", "espírito santo", "goiás", "maranhão", "mato grosso", "mato grosso do sul",
  203.         "minas gerais", "pará", "paraíba", "paraná", "pernambuco", "piauí", "roraima", "rondônia",
  204.         "rio de janeiro", "rio grande do norte", "rio grande do sul", "santa catarina", "são paulo",
  205.         "sergipe", "tocantis", "manaus", "salvador", "fortaleza", "brasília", "vitória", "goiânia",
  206.         "são luís", "são luis", "luiz", "luíz", "luís", "cuiabá", "campo grande", "belo horizonte",
  207.         "belém", "joão pessoa", "curitiba", "recife", "teresina", "boa vista", "porto velho", "rio de janeiro",
  208.         "natal", "porto alegre", "florianópolis", "floripá", "floripa", "aracaju", "palmas", "josé", "reni",
  209.         "vinicius", "lídia", "carolina", "caroline", "carol", "vitor", "lucas", "higor", "junior",
  210.         "daniel", "bruno", "bruna", "elisa", "lívia", "ana", "vitória", "milena", "ketlyn", "louise",
  211.         "alisson", "alison", "wanda", "nascimento", "souza", "sousa", "konig", "alves", "gaione",
  212.         "janoski", "paiva", "luiza", "luíza", "carvalho", "vitória", "santos", "lira", "bonato",
  213.         "marchioro", "guimarães", "pavan", "alkimim", "alckimim", "alckimin", "dantas", "cruz",
  214.         "santana", "tafarel", "rafael", "usain", "bolt", "clarice", "natália", "nathaly", "sofia",
  215.         "sophia", "daniel", "biel", "gabriel", "kellin", "gianluca", "hilton", "joão", "joao",
  216.         "dalila", "domingos", "silveira", "felipe", "ferreira", "lopes", "martins", "sena",
  217.         "marcony", "jairo", "guilherme", "munhoz", "conceição", "arthur", "enzo",
  218.         "karine", "juliana", "katia", "karine", "karinne", "ribeiro", "leandro", "kevin",
  219.         "lopes", "lopez", "leonardo", "marcos", "matheus", "mateus", "mariane", "marianne",
  220.         "mariana", "marianna", "anna", "anne", "annie", "frank", "luciana", "menezes",
  221.         "margo", "mayck", "maycom", "rafael", "portugal", "bernardino", "bernardo",
  222.         "carboni", "lobato", "soares", "nayane", "naynne", "nayana", "nayanne",
  223.         "roni", "stefani", "stephanny", "stephanie", "stephani", "stephany", "stefanie",
  224.         "krombauer", "rosiane", "louvart", "mozart", "thiago", "tiago", "uriel", "silva",
  225.         "ricardo", "antonio", "yuri", "iuri", "sullivan", "coutinho", "murilo", "danilo",
  226.         "gentilli", "léo", "leo", "lins", "linz", "ballmer", "fernanda", "nanda", "ruth", "bertoli",
  227.         "thamiris", "viick", "vick", "curry", "marinho", "machado", "pedro", "paulo", "juan",
  228.         "marcelo", "marcello", "marcelinho", "marcellinho", "elaine", "zephyrot", "luciane",
  229.         "medina", "rezende", "percival", "chill", "nation", "pewdiepie", "felix", "félix",
  230.         "zayn", "one direction", "justin bieber", "50 cent", "snoop dog", "lil wayne",
  231.         "the chainsmokers", "blackbear", "jailson", "mendes", "bianca", "larissa", "maria",
  232.         "davi", "joaquim", "emanuel", "catarina", "lavínia", "beatriz", "rebeca", "emanuelly",
  233.         "amanda", "alice", "agatha", "gabrielly", "otávio", "rodrigo", "fábio", "ian",
  234.         "murdock", "emanuel", "francisco", "miguel", "bryan", "henrique", "caio", "benjamin",
  235.         "lucca", "isaac", "cauã", "reymond", "raymond", "samuel", "sam", "winchester", "dean",
  236.         "winchester", "nicolas", "heitor", "laura", "valentina", "julia", "rafaela", "heloísa",
  237.         "andrade", "ana clara", "maria clara", "lorena", "isadora", "gabriela", "isabelly",
  238.         "sarah", "eduarda", "giovana", "giovanna", "letícia", "marina", "joyce", "maju",
  239.         "trindade", "edson", "cecília", "rebeca", "melissa", "agata", "kewelin", "sérgio",
  240.         "will", "ludmilla", "ludmila", "ludmylla", "siqueira", "suffi", "cavalaro",
  241.         "lemos", "flauzino", "alan", "allan", "drake", "chris", "brown", "akon", "britney",
  242.         "spears", "rihanna", "tupac", "2pac", "marechal", "costa gold", "haikaiss", "ramos",
  243.         "tony", "senhorita", "senhora", "senhor", "senhorio", "majestade", "princesa",
  244.         "princípe", "demônio", "demon", "damon", "deus", "jesus", "ser maior", "física",
  245.         "português", "geografia", "química", "matemática", "biologia", "engenharia",
  246.         "fisica", "computação", "inglês", "filosofia", "sociologia", "história",
  247.         "arquitetura", "centripeta", "encéfalo", "desintegrações"
  248.         "desintegração", "maravilhosa", "maravilhosas", "maravilhoso",
  249.         "maravilhosos"]
  250.  
  251.         substantivos += substantivos_pos
  252.         substantivos += substantivos_post
  253.         substantivos_contidos = []
  254.  
  255.         for substantivo in substantivos:
  256.             if substantivo in texto:
  257.                 substantivos_contidos.append(substantivo)
  258.         else:
  259.             if len(substantivos_contidos) < 1:
  260.                 return ["não há substantivos"]
  261.             else:
  262.                 for substantivo in substantivos_contidos:
  263.                     pass
  264.                 else:
  265.                     return substantivos_contidos
  266.  
  267.     def analisar_artigos(self, texto):
  268.         texto = texto.replace(',', '')
  269.         texto = texto.replace('.', '')
  270.         texto = texto.split()
  271.         artigos = ['o', 'ao', 'do', 'no', 'pelo', 'a', 'à', 'da', 'na', 'pela'
  272.         'os', 'aos', 'dos', 'nos', 'pelos', 'as', 'às', 'das', 'nas', 'pelas',
  273.         'um', 'uma', 'uns', 'umas']
  274.  
  275.         artigos_contidos = []
  276.  
  277.         for artigo in artigos:
  278.             if artigo in texto:
  279.                 artigos_contidos.append(artigo)
  280.         else:
  281.             if len(artigos_contidos) < 1:
  282.                 return ["não há artigos"]
  283.             else:
  284.                 for artigo in artigos_contidos:
  285.                     pass
  286.                 else:
  287.                     return artigos_contidos
  288.  
  289.     def analisar_preposicoes(self, texto):
  290.         texto = texto.replace(',', '')
  291.         texto = texto.replace('.', '')
  292.         texto = texto.split()
  293.         preposicoes = ['a', 'de', 'em', 'por', 'per']
  294.  
  295.         preposicoes_contidas = []
  296.  
  297.         for preposicao in preposicoes:
  298.             if preposicao in texto:
  299.                 preposicoes_contidas.append(preposicao)
  300.         else:
  301.             if len(preposicoes_contidas) < 1:
  302.                 return ["não há preposições"]
  303.             else:
  304.                 for preposicao in preposicoes_contidas:
  305.                     pass
  306.                 else:
  307.                     return preposicoes_contidas
  308.  
  309.     def analisar_conjuncoes(self, texto):
  310.         texto = texto.replace(',', '')
  311.         texto = texto.replace('.', '')
  312.         texto = texto.split()
  313.         conjuncoes = ["e", "nem", "mas também", "como também", "bem", "como", "mas",
  314.         "porém", "todavia", "contudo", "entretanto", "no entanto", "ou", "ora;",
  315.         "quer", "já", "logo", "portanto", "por isso", "assim", "por conseguinte",
  316.         "que", "porque", "portanto", "pois", "logo", "mesmo quem",
  317.         "porque", "uma vez que", "sendo que", "visto que", "como", "tamanho que",
  318.         "tanto que", "tão que", "tal que", "tal", "qual", "do que", "assim como",
  319.         "mais... que", "menos... que", "conforme", "segundo", "consoante", "ainda que",
  320.         "se caso", "contanto que", "a menos que", "emora", "se bem que", "embora", "por mais que",
  321.         "se que", "salvo se", "à medida que", "à proporção que", "quanto mais", "quanto menos",
  322.         "a fim de que", "para que", "enquanto", "quando", "sempre que", "logo que", "depois que"
  323.         ]
  324.  
  325.         conjuncoes_contidas = []
  326.  
  327.         for conjuncao in conjuncoes:
  328.             if conjuncao in texto:
  329.                 conjuncoes_contidas.append(conjuncao)
  330.         else:
  331.             if len(conjuncoes_contidas) < 1:
  332.                 return ["não há conjunções"]
  333.             else:
  334.                 for conjuncao in conjuncoes_contidas:
  335.                     pass
  336.                 else:
  337.                     return conjuncoes_contidas
  338.  
  339.     def analisar_adverbios(self, texto):
  340.         texto = texto.replace(',', '')
  341.         texto = texto.replace('.', '')
  342.         texto = texto.split()
  343.         adverbios = ["ainda", "agora", "amanhã", "anteontem", "à tarde", "à noite",
  344.         "de repente", "de súbito", "em breve", "de vez em quando", "depois", "hoje", "anteontem",
  345.         "bastante", "muito", "pouco", "menos", "mais", "demasiadamente", "por completo", "apenas",
  346.         "todo", "em demasia", "em excesso", "abaixo", "acima", "por dentro", "por fora", "por aqui",
  347.         "por ali", "atrás", "aqui", "lá", "à direita", "à esquerda", "acolá", "adiante", "aí...",
  348.         "bem", "mal", "depressa", "devagar", "melhor", "pior", "às pressas", "com calma", "lado a lado",
  349.         "às ocultas", "às claras", "frente a frente", "assim debalde", "sim", "certamente",
  350.         "efetivamente", "realmente", "de fato", "por certo", "sem dúvida", "possívelmente", "provavelmente",
  351.         "quiçá", "talvez", "porventura", "acaso", "não", "de jeito nenhum", "de forma alguma", "de modo algum",
  352.         "deveras", "demais"]
  353.  
  354.         adverbios_contidos = []
  355.  
  356.         for adverbio in adverbios:
  357.             if adverbio in texto:
  358.                 adverbios_contidos.append(adverbio)
  359.         else:
  360.             if len(adverbios_contidos) < 1:
  361.                 return ["não há advérbios"]
  362.             else:
  363.                 for adverbio in adverbios_contidos:
  364.                     pass
  365.                 else:
  366.                     return adverbios_contidos
  367.  
  368.     def analisar_tudo(self):
  369.         texto = self.texto.get(1.0, END)
  370.         texto = str(texto)
  371.         texto = texto.lower()
  372.         pronomes = self.analisar_pronomes(texto)
  373.         substantivos = self.analisar_substantivos(texto)
  374.         artigos = self.analisar_artigos(texto)
  375.         preposicoes = self.analisar_preposicoes(texto)
  376.         conjuncoes = self.analisar_conjuncoes(texto)
  377.         adverbios = self.analisar_adverbios(texto)
  378.         self.itens.delete(1.0, END)
  379.         self.itens.insert(END, "Pronomes: "+", ".join(pronomes)+"."+"\n")
  380.         self.itens.insert(END, "Substantivos: "+", ".join(substantivos)+"."+"\n")
  381.         self.itens.insert(END, "Artigos: "+", ".join(artigos)+"."+"\n")
  382.         self.itens.insert(END, "Preposicoes: "+", ".join(preposicoes)+"."+"\n")
  383.         self.itens.insert(END, "Conjuncoes: "+", ".join(conjuncoes)+"."+"\n")
  384.         self.itens.insert(END, "Advérbios: "+", ".join(adverbios)+"."+"\n")
  385. try:
  386.     raiz = Tk()
  387.     j1 = Janela(raiz)
  388.     raiz.geometry('%dx%d' % (400, 440))
  389.     raiz.resizable(False, False)
  390.     raiz.title("Pesquisa contextual")
  391.     raiz.mainloop()
  392. except KeyboardInterrupt:
  393.     print("Saindo do script...\n")
  394.     quit()
Advertisement
Add Comment
Please, Sign In to add comment