#!/usr/bin/python # -*- coding: utf-8 -*- #Autor: Erickson Silva #Email: #LAViD - Laboratório de Aplicações de Vídeo Digital from os.path import expanduser import csv import platform class LerDicionarios(object): def __init__(self): self.path = self.get_path() self.dic_adv_intensidade = [] self.dic_adv_tempo = [] self.dic_art = [] self.dic_prep = [] self.dic_sin = {} self.dic_sb_2_gen = [] self.dic_vb_infinitivo = {} self.dic_vb_ligacao = [] self.file = '' self.carregar_dicionarios() def get_path(self): if platform.system() == 'Windows': return expanduser("~") + "\\vlibras-translate\data\\" return expanduser("~") + "/vlibras-translate/data/" def carregar_dicionarios(self): self.carregar_adverbios_intensidade() self.carregar_adverbios_tempo() self.carregar_artigos() self.carregar_preposicoes() self.carregar_sinonimos() self.carregar_subs_2_generos() self.carregar_verbos_infinitivo() self.carregar_verbos_ligacao() def carregar_adverbios_intensidade(self): try: self.file = csv.reader(open(self.path+"adverbiosIntensidade.csv")) except IOError, (errno, strerror): print "I/O error(%s): %s" % (errno, strerror) print "carregar_adverbios_intensidade" rows = [] for row in self.file: rows.append(row[0].decode("utf-8")) self.dic_adv_intensidade = set(rows) def carregar_adverbios_tempo(self): try: self.file = csv.reader(open(self.path+"adverbiosTempo.csv")) except IOError, (errno, strerror): print "I/O error(%s): %s" % (errno, strerror) print "carregar_adverbios_tempo" rows = [] for row in self.file: rows.append(row[0].decode("utf-8")) self.dic_adv_tempo = set(rows) def carregar_artigos(self): try: self.file = csv.reader(open(self.path+"artigos.csv")) except IOError, (errno, strerror): print "I/O error(%s): %s" % (errno, strerror) print "carregar_artigos" rows = [] for row in self.file: rows.append(row[0].decode("utf-8")) self.dic_art = set(rows) def carregar_preposicoes(self): try: self.file = csv.reader(open(self.path+"preposicoes.csv")) except IOError, (errno, strerror): print "I/O error(%s): %s" % (errno, strerror) print "carregar_preposicoes" rows = [] for row in self.file: rows.append(row[0].decode("utf-8")) self.dic_prep = set(rows) def carregar_sinonimos(self): try: self.file = csv.reader(open(self.path+"sinonimos.csv"), delimiter=";") except IOError, (errno, strerror): print "I/O error(%s): %s" % (errno, strerror) print "carregar_sinonimos" for row in self.file: if row[1] != "": self.dic_sin[row[0].decode("utf-8")] = row[1].decode("utf-8") def carregar_subs_2_generos(self): try: self.file = csv.reader(open(self.path+"subs2Generos.csv")) except IOError, (errno, strerror): print "I/O error(%s): %s" % (errno, strerror) print "carregar_subs_2_generos" rows = [] for row in self.file: rows.append(row[0].decode("utf-8")) self.dic_sb_2_gen = set(rows) def carregar_verbos_infinitivo(self): try: self.file = csv.reader(open(self.path+"verbosInfinitivo.csv"), delimiter=";") except IOError, (errno, strerror): print "I/O error(%s): %s" % (errno, strerror) print "carregar_verbos_infinitivo" for row in self.file: if row[1] != "": self.dic_vb_infinitivo[row[0].decode("utf-8")] = row[1].decode("utf-8") def carregar_verbos_ligacao(self): try: self.file = csv.reader(open(self.path+" verbosLigacao.csv")) except IOError, (errno, strerror): print "I/O error(%s): %s" % (errno, strerror) print "carregar_verbos_ligacao" rows = [] for row in self.file: rows.append(row[0].decode("utf-8")) self.dic_vb_ligacao = set(rows) def has_adverbio_intensidade(self, token): return token in self.dic_adv_intensidade def has_adverbio_tempo(self, token): return token in self.dic_adv_tempo def has_artigo(self, token): return token in self.dic_art def has_preposicao(self, token): return token in self.dic_prep def has_sinonimo(self, token): return self.dic_sin.has_key(token) def has_subst_2_generos (self, token): return token in self.dic_sb_2_gen def has_verbo_infinitivo(self, token): return self.dic_vb_infinitivo.has_key(token) def has_verbo_ligacao(self, token): return token in self.dic_vb_ligacao def get_sinonimo(self, token): return self.dic_sin[token] def get_verbo_infinitivo(self, token): return self.dic_vb_infinitivo[token]