#!/usr/bin/python # -*- coding: utf-8 -*- #Autor: Erickson Silva import os, csv, sys class WorkCSV(object): # Define e inicializa os atributos def __init__(self): self.__path = "vlibras_user/vlibras-core/data/" self.__fileInf = '' self.__dicInf = {} self.__fileSin = '' self.__dicSin = {} self.__fileWords = '' self.__dicWords = {} self.__file2Gen = '' self.__dic2Gen = {} self.__fileTemVerbs = '' self.__dicTemVerbs = {} self.createDicInf() self.createDicSin() self.createDicWords() self.createDic2Gen() self.createDicTemVerbs() # Abre o arquivo que contem os verbos no infinitivo e preenche o dicionario com os mesmos def createDicInf(self): try: self.__fileInf = csv.reader(open(self.__path+"dicPortGlosa.csv"), delimiter=";") except IOError, (errno, strerror): print "I/O error(%s): %s" % (errno, strerror) print "createDicInf" for row in self.__fileInf: if row[1] != "": try: self.__dicInf[row[0].decode("utf-8")] = row[1].decode("utf-8") except UnicodeDecodeError: self.__dicInf[row[0].decode('iso8859-1').encode('utf-8')] = row[1].decode('iso8859-1').encode('utf-8') # Abre o arquivo que contem os sinonimos e preenche o dicionario com os mesmos def createDicSin(self): try: self.__fileSin = csv.reader(open(self.__path+"portuguesGlosa.csv"), delimiter=";") except IOError, (errno, strerror): print "I/O error(%s): %s" % (errno, strerror) print "createDicSin" for row in self.__fileSin: if row[1] != "": self.__dicSin[row[0].decode("utf-8")] = row[1].decode("utf-8") # Abre o arquivo que contem os tempos verbais def createDicTemVerbs(self): try: self.__fileTemVerbs = csv.reader(open(self.__path+"temposVerbais.csv"), delimiter=";") except IOError, (errno, strerror): print "I/O error(%s): %s" % (errno, strerror) print "createDicTemVerbs" for row in self.__fileTemVerbs: self.__dicTemVerbs[row[0].decode("utf-8")] = row[0].decode("utf-8") # Abre o arquivo que contem os artigos e preposicoes de acordo com o modelo de idioma passado na chamada e preenche o dicionario com os mesmos def createDicWords(self): try: self.__fileWords = csv.reader(open(self.__path+"hWordsRemove.csv"), delimiter=";") except IOError, (errno, strerror): print "I/O error(%s): %s" % (errno, strerror) print "createDicWords" for row in self.__fileWords: self.__dicWords[row[0].decode("utf-8")] = row[0].decode("utf-8") # Abre o arquivo que contem os substantivos que sao comuns dos 2 generos e preenche o dicionario com os mesmos def createDic2Gen(self): try: self.__file2Gen = csv.reader(open(self.__path+"subs2Generos.csv"), delimiter=";") except IOError, (errno, strerror): print "I/O error(%s): %s" % (errno, strerror) print "createDic2Gen" for row in self.__file2Gen: self.__dic2Gen[row[0].decode("utf-8")] = row[0].decode("utf-8") # Retorna o dicionario dos verbos no infinitivo def getDicInf(self): return self.__dicInf # Retorna o dicionario dos sinonimos def getDicSin(self): return self.__dicSin # Retorna o dicionario dos artigos e preposicoes a serem removidos pelo simplificador def getDicWords(self): return self.__dicWords # Retorna o dicionario dos substantivos a serem analisados pelo simplificador def getDic2Gen(self): return self.__dic2Gen # Retorna o dicionario dos tempos verbais def getDicTemVerbs(self): return self.__dicTemVerbs