## 
## PSPDictionary
## Copyright (C) 2009,2010 Germano Fabio
## gefasio@gmail.com
## 
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2 of the License, or
## (at your option) any later version.
## 
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.
## 
## You should have received a copy of the GNU General Public License
## along with this program; if not, write to the Free Software
## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
##

class TradOffline(object):
    '''
    Classe adibita alla traduzione offline.
    Per la traduzioni, PSPDictionary - a partire dalla release 2.4.0 - si appoggia alle traduzioni liberamente rilasciate
    da Wikizionario, un servizio di traduzione online offerto da Wikipedia.
    http://it.wiktionary.org/wiki/Pagina_principale
    '''
    def __init__(self, lingua, parola):
        ## Lingua:
        ## 0 -> English,
        ## 1 -> Italiano,
        ## 2 -> Francais,
        ## 3 -> Deutsche,
        ## 4 -> Espanol.
        self.lingua = lingua
        self.parola = parola
        self.traduzioni = []
        self.Trad()
    def Trad(self):
        '''Procedo con la traduzione.'''
        for lang in ['en', 'it', 'fr', 'ted', 'sp', 'lt']:
            traduzioni = ''
            try:
                self.FILENAME = 'dict/'+['English','Italiano','Francais','Deutsche','Espanol'][self.lingua]+'/'+lang+'.txt'
                self.fl = open(self.FILENAME,"r")
                self.lines = self.fl.readlines()
                for linea in self.lines:
                    try:
                        if linea.split(';')[0] == self.parola:
                            traduzioni += linea.split(';')[1][0:len(linea.split(';')[1])-2]+';'
                    except:
                        pass
                if traduzioni[len(traduzioni)-1:] == ';':
                    self.traduzioni.append(traduzioni[0:len(traduzioni)-1])
                else:
                    if len(traduzioni) > 0:
                        self.traduzioni.append(traduzioni)
                    else:
                        self.traduzioni.append('Not found.')
                self.fl.close()
            except:
                continue
        self.traduzioni.insert(self.lingua, self.parola)
        print  self.traduzioni
        return self.traduzioni
            
