X-Git-Url: http://iramuteq.org/git?p=iramuteq;a=blobdiff_plain;f=textsimi.py;h=55e2f2b51f4d1055352151d9feb260cc7970a978;hp=0dfaea7b35389c1b7d8ddf13772e2b292b29d33e;hb=3c12716d2973bdb4cda7d49cace225d3502c1a30;hpb=42a67a41b64a6e0cc3fd2a63a0749e9aa4b9374c diff --git a/textsimi.py b/textsimi.py index 0dfaea7..55e2f2b 100644 --- a/textsimi.py +++ b/textsimi.py @@ -1,23 +1,16 @@ # -*- coding: utf-8 -*- #Author: Pierre Ratinaud #Copyright (c) 2008-2013 Pierre Ratinaud -#Lisense: GNU/GPL +#License: GNU/GPL from chemins import ffr, simipath -#from corpus import Corpus import os from analysetxt import AnalyseText -#from ConfigParser import RawConfigParser -#from guifunct import getPage, getCorpus -from dialog import StatDialog -from guifunct import SelectColumn, PrepSimi +from guifunct import PrepSimi from functions import indices_simi, progressbar, treat_var_mod, read_list_file, print_liste -#from tableau import Tableau -#from tabsimi import DoSimi from PrintRScript import PrintSimiScript import wx from copy import copy - import logging log = logging.getLogger('iramuteq.textsimi') @@ -27,23 +20,28 @@ class SimiTxt(AnalyseText): self.parametres['type'] = 'simitxt' self.pathout.basefiles(simipath) self.indices = indices_simi - self.makesimiparam() + if self.dlg : + self.makesimiparam() #FIXME self.actives = self.corpus.make_actives_limit(3) dictcol = dict([[i, [act, self.corpus.getlemeff(act)]] for i, act in enumerate(self.actives)]) continu = False if self.dlg : - #cont = SelectColumn(self.ira, dictcol, self.actives, self.pathout['selected.csv'], dlg = self.dlg) - #if cont.ok : self.listet = self.corpus.make_etoiles() self.listet.sort() self.stars = copy(self.listet) self.parametres['stars'] = copy(self.listet) self.parametres['sfromchi'] = False + self.dlg.Destroy() prep = PrepSimi(self.ira, self, self.parametres, self.pathout['selected.csv'], self.actives, indices_simi, wordlist=dictcol) if prep.val == wx.ID_OK : continu = True self.parametres = prep.parametres + self.dlg = progressbar(self.ira, 4) + else : + return False + else : + continu = True if continu : self.makefiles() script = PrintSimiScript(self) @@ -66,22 +64,6 @@ class SimiTxt(AnalyseText): else : return False -# def preferences(self) : -# dial = StatDialog(self, self.parent) -# dial.CenterOnParent() -# val = dial.ShowModal() -# if val == 5100 : -# if dial.radio_lem.GetSelection() == 0 : -# lem = 1 -# else : -# lem = 0 -# self.parametres['lem'] = lem -# dial.Destroy() -# return self.parametres -# else : -# dial.Destroy() -# return None - def makesimiparam(self) : self.paramsimi = {'coeff' : 0, 'layout' : 2, @@ -110,7 +92,7 @@ class SimiTxt(AnalyseText): 'height' : 1000, 'bystar' : False, 'first' : True, - 'keep_coord' : True, + 'keep_coord' : False, 'alpha' : 20, 'film': False, 'svg' : 0, @@ -131,11 +113,14 @@ class SimiTxt(AnalyseText): f.write('\n'.join(self.actives).encode(self.ira.syscoding)) class SimiFromCluster(SimiTxt) : - def __init__(self, ira, corpus, actives, numcluster, parametres = None, dlg = False) : + def __init__(self, ira, corpus, actives, lfreq, lchi, numcluster, parametres = None, dlg = False) : self.actives = actives self.numcluster = numcluster + self.lfreq = lfreq + self.lchi = lchi parametres['name'] = 'simi_classe_%i' % (numcluster + 1) - SimiTxt.__init__(self, ira, corpus, parametres, dlg, lemdial = False) + dlg.Destroy() + SimiTxt.__init__(self, ira, corpus, parametres, dlg=True, lemdial = False) def preferences(self) : return self.parametres @@ -144,17 +129,18 @@ class SimiFromCluster(SimiTxt) : self.parametres['type'] = 'clustersimitxt' self.pathout.basefiles(simipath) self.indices = indices_simi - self.makesimiparam() + if self.dlg : + self.makesimiparam() if 'bystar' in self.parametres : del self.parametres['bystar'] dictcol = dict([[i, [act, self.corpus.getlemclustereff(act, self.numcluster)]] for i, act in enumerate(self.actives)]) continu = True + #print self.dlg if self.dlg : - #self.listet = self.corpus.make_etoiles() - #self.listet.sort() + self.dlg.Destroy() self.stars = []#copy(self.listet) - self.parametres['stars'] = False#copy(self.listet) - self.parametres['sfromchi'] = True + self.parametres['stars'] = 0#copy(self.listet) + self.parametres['sfromchi'] = 1 prep = PrepSimi(self.ira, self, self.parametres, self.pathout['selected.csv'], self.actives, indices_simi, wordlist=dictcol) if prep.val == wx.ID_OK : continu = True @@ -162,7 +148,9 @@ class SimiFromCluster(SimiTxt) : else : continu = False if continu : + self.dlg = progressbar(self.parent, 3) self.makefiles() + self.parametres['type'] = 'clustersimitxt' script = PrintSimiScript(self) script.make_script() if not self.doR(script.scriptout, dlg = self.dlg, message = 'R ...') : @@ -189,3 +177,8 @@ class SimiFromCluster(SimiTxt) : self.corpus.make_and_write_sparse_matrix_from_classe(self.actives, self.corpus.lc[self.numcluster], self.pathout['mat01.csv']) with open(self.pathout['actives.csv'], 'w') as f : f.write('\n'.join(self.actives).encode(self.ira.syscoding)) + with open(self.pathout['actives_nb.csv'], 'w') as f : + f.write('\n'.join([`val` for val in self.lfreq])) + with open(self.pathout['actives_chi.csv'], 'w') as f : + f.write('\n'.join([`val` for val in self.lchi])) +