modification du calcul du tableau etoiles/classe : les variables uniques sont éliminés
[iramuteq] / textclassechd.py
1 # -*- coding: utf-8 -*-
2 #Author: Pierre Ratinaud
3 #Copyright (c) 2012, Pierre Ratinaud
4 #Lisense: GNU/GPL
5
6 import os
7
8
9 class ClasseCHD :
10     def __init__(self, parent, corpus, classe, cmd = False) :
11         self.parent = parent
12         self.cmd = cmd
13         self.corpus = self.corpus_from_classe(corpus, classe, False)
14
15     def corpus_from_classe(self, corpus, classe, lem) :
16         if lem :
17             ucis_paras_uces = corpus.make_ucis_paras_uces_lems()
18         else :
19             ucis_paras_uces = corpus.ucis_paras_uces
20         ucecl = {}
21         for i, lc in enumerate(corpus.lc) :
22             for uce in lc :
23                 ucecl[uce] = i + 1
24         for uce in corpus.lc0 :
25             ucecl[uce] = 0
26         ucecltri = ucecl.keys()
27         #ucecltri = [[int(val) for val in uce] for uce in ucecltri]
28         ucecltri.sort()
29         res = [[u'**** *classe_%i ' % ucecl[uce] + ' '.join(corpus.etoiles[uce[0]][uce[1]][uce[2]]), ' '.join(ucis_paras_uces[uce[0]][uce[1]][uce[2]])] for uce in ucecltri if ucecl[uce] == classe]
30         fileout = os.path.dirname(corpus.dictpathout['ira'])
31         fileout = os.path.join(fileout, 'corpus_classe_%i.txt' % classe)
32         print fileout
33         with open(fileout,'w') as f :
34             f.write('\n'.join(['\n'.join(uce) for uce in res]))
35         self.parent.filename = fileout
36         if not self.cmd :
37             self.parent.OpenText()
38