french dictionary
[iramuteq] / cable.py
1 # -*- coding: utf-8 -*-
2 #Author: Pierre Ratinaud
3 #Copyright (c) 2010, Pierre Ratinaud
4 #Lisense: GNU/GPL
5
6
7 import codecs
8 filein = '/home/pierre/fac/cablegate/allcables-all.txt'
9 enc = 'utf-8'
10
11 infile = codecs.open(filein, 'r', enc)
12 content = []
13
14 class BigCorpus :
15     def __init__(self, parent) :
16         self.parent = parent
17         self.parametre = {'syscoding': sys.getdefaultencoding()}
18         self.content = None
19         self.ucis = None
20         self.formes = {}
21         self.lems = {}
22         self.ucenb = None
23         self.etoiles = None
24         self.etintxt = {}
25         self.ucis_paras_uces = None
26         self.lc = None
27         self.lc0 = None
28         self.actives = None
29         self.supp = None
30         #self.supplementaires = []
31         self.lenuc1 = None
32         self.lenuc2 = None
33         self.lexique = None
34     
35     def open_corpus(self) :
36         return codecs.open(self.parametre['filename'], "r", self.parametre['encodage'])
37     
38     def buildcorpus(self) :
39         i = 0
40         ucifile = os.path.join(os.path.basedir(self.parametre['filename']), 'ucis.txt')
41         uci = open(ucifile, 'w')
42         ucinb = 0
43         for line in self.open_corpus() :
44             if line.startswith(u'****') and i==0 :
45                 uci.write(line)
46                 i += 1
47             elif line.startswith(u'****') and i=!0 :
48                 uci.write(line)
49                 parse_uci()
50
51                 write_uci()
52                 uci[ucinb] = i
53                 ucinb += 1
54                 i += 1
55             else :
56                 addlinetouci(uci, prepare(line))
57                 line = line.lower().replace(u'\'','\' ').replace(u'’','\' ').replace('...',u' £ ').replace('?',' ? ').replace('.',' . ').replace('!', ' ! ').replace(',',' , ').replace(';', ' ; ').replace(':', ' : ').strip()
58                 line = line.replace('\n', ' ').replace('\r', ' ')
59                 line = line.split()
60                 content[-1].append(line)
61             i += 1
62 print len(content)