multisplit
[iramuteq] / textclassechd.py
1 # -*- coding: utf-8 -*-
2 #Author: Pierre Ratinaud
3 #Copyright (c) 2008-2020 Pierre Ratinaud
4 #modification pour python 3 : Laurent Mérat, 6x7 - mai 2020
5 #License: GNU/GPL
6
7 #------------------------------------
8 # import des modules python
9 #------------------------------------
10 import os
11
12
13 class ClasseCHD :
14
15     def __init__(self, parent, corpus, classe, cmd = False) :
16         self.parent = parent
17         self.cmd = cmd
18         self.corpus = self.corpus_from_classe(corpus, classe, False)
19
20     def corpus_from_classe(self, corpus, classe, lem) :
21         if lem :
22             ucis_paras_uces = corpus.make_ucis_paras_uces_lems()
23         else :
24             ucis_paras_uces = corpus.ucis_paras_uces
25         ucecl = {}
26         for i, lc in enumerate(corpus.lc) :
27             for uce in lc :
28                 ucecl[uce] = i + 1
29         for uce in corpus.lc0 :
30             ucecl[uce] = 0
31         ucecltri = list(ucecl.keys())
32         #ucecltri = [[int(val) for val in uce] for uce in ucecltri]
33         ucecltri.sort()
34         res = [['**** *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]
35         fileout = os.path.dirname(corpus.dictpathout['ira'])
36         fileout = os.path.join(fileout, 'corpus_classe_%i.txt' % classe)
37         print(fileout)
38         with open(fileout,'w') as f :
39             f.write('\n'.join(['\n'.join(uce) for uce in res]))
40         self.parent.filename = fileout
41         if not self.cmd :
42             self.parent.OpenText()