X-Git-Url: http://iramuteq.org/git?p=iramuteq;a=blobdiff_plain;f=iramuteq.py;h=9618316fc862d3765e73d6523d32441779dc43e3;hp=c84836490142d05725c49933073a36f0fdfb4b73;hb=3d1a621b481e251f8a086af586c7eb0bb87b0004;hpb=6523e3596df7ec9b7b94b875593953d4b34b6117 diff --git a/iramuteq.py b/iramuteq.py index c848364..9618316 100644 --- a/iramuteq.py +++ b/iramuteq.py @@ -5,40 +5,37 @@ #License: GNU GPL from optparse import OptionParser +from wx import BusyCursor parser = OptionParser() parser.add_option("-f", "--file", dest="filename", help="open FILE", metavar="FILE", default=False) (options, args) = parser.parse_args() -#print args -#print options import sys reload(sys) import locale import tempfile import codecs import os -import shutil from random import randint -from ConfigParser import * +from ConfigParser import ConfigParser, RawConfigParser import webbrowser import gettext import logging #------------------------------------ import wx -#import wx.aui import wx.lib.agw.aui as aui import wx.html import wx.grid import wx.lib.hyperlink as hl #------------------------------------ -from functions import BugReport, PlaySound, ReadLexique, History, DoConf, ReadDicoAsDico, progressbar +from functions import BugReport, PlaySound, History from checkversion import NewVersion from guifunct import * from tableau import Tableau -from dialog import PrefDialog, CorpusPref -from tabfrequence import Frequences +from dialog import PrefDialog +from tabfrequence import Frequences, FreqMultiple from tabchi2 import ChiSquare #from tabstudent import MakeStudent from tabchddist import ChdCluster @@ -47,18 +44,16 @@ from tabchdalc import AnalyseQuest from tabsimi import DoSimi from tabrsimple import InputText from tabverges import Prototypical -#from textafcuci import AfcUci -from textdist import AnalysePam +from tabsplitvar import SplitMatrixFromVar +#from textdist import AnalysePam from textstat import Stat from textaslexico import Lexico from textsimi import SimiTxt, SimiFromCluster from textwordcloud import WordCloud, ClusterCloud from textreinert import Reinert -#from profile_segment import ProfileSegment #from textcheckcorpus import checkcorpus from openanalyse import OpenAnalyse from corpus import Builder, SubBuilder -#from sheet import MySheet from checkinstall import CreateIraDirectory, CheckRPath, FindRPAthWin32, FindRPathNix, CheckRPackages, IsNew, UpgradeConf, CopyConf, RLibsAreInstalled from chemins import RscriptsPath, ConstructConfigPath, ConstructDicoPath, ConstructGlobalPath, PathOut from parse_factiva_xml import ImportFactiva @@ -94,6 +89,7 @@ ID_HTMLcontent = wx.NewId() ID_SimiTxt = wx.NewId() ID_proto = wx.NewId() ID_ImportTXM = wx.NewId() +ID_FreqMulti = wx.NewId() ########################################################## #elements de configuration ########################################################## @@ -112,6 +108,8 @@ ImagePath = os.path.join(AppliPath, 'images') DictConfigPath = ConstructGlobalPath(AppliPath) ConfigGlob = ConfigParser() ConfigGlob.read(DictConfigPath['global']) +DefaultConf = ConfigParser() +DefaultConf.read(DictConfigPath['preferences']) #repertoire de l'utilisateur if os.getenv('HOME') != None: user_home = os.getenv('HOME') @@ -148,7 +146,18 @@ sys.stdout = printer() ConfigPath = ConstructConfigPath(UserConfigPath) langues = {'french' : wx.LANGUAGE_FRENCH, - 'english' : wx.LANGUAGE_ENGLISH,} + 'english' : wx.LANGUAGE_ENGLISH, + 'portuguese' : wx.LANGUAGE_PORTUGUESE, + 'italian' : wx.LANGUAGE_ITALIAN, + 'spanish' : wx.LANGUAGE_SPANISH + } + +code_langues = {'french' : 'fr_FR', + 'english' : 'en', + 'portuguese' : 'pt_PT', + 'italian' : 'it_IT', + 'spanish' : 'es_ES' + } ##################################################################### class IraFrame(wx.Frame): @@ -174,9 +183,15 @@ class IraFrame(wx.Frame): self.SimiFromCluster = SimiFromCluster #langues gettext.install('iramuteq', os.path.join(AppliPath,'locale'), unicode=True) - self.presLan_fr = gettext.translation("iramuteq", os.path.join(AppliPath,'locale'), languages=['fr_FR']) - self.presLan_en = gettext.translation("iramuteq", os.path.join(AppliPath,'locale'), languages=['en']) + #langues = ['fr_FR', 'en', 'pt_PT'] + #for l in langues : + # pass + self.preslangue = {} + for langue in code_langues : + self.preslangue[langue] = gettext.translation("iramuteq", os.path.join(AppliPath,'locale'), languages=[code_langues[langue]]) self.setlangue() + #self.presLan_fr = gettext.translation("iramuteq", os.path.join(AppliPath,'locale'), languages=['fr_FR']) + #self.presLan_en = gettext.translation("iramuteq", os.path.join(AppliPath,'locale'), languages=['en']) # tell FrameManager to manage this frame #self._mgr = wx.aui.AuiManager() self._mgr = aui.AuiManager() @@ -223,7 +238,7 @@ class IraFrame(wx.Frame): self.ID_splitvar = splitvar.GetId() self.ID_extractmod = extractmod.GetId() self.ID_extractthem = extractthem.GetId() - file_menu.AppendMenu(-1, _(u"Tools"), menuTools) + file_menu.AppendMenu(-1, _(u"Tools").decode('utf8'), menuTools) #item = wx.MenuItem(file_menu, ID_SaveTab, _(u"Save tab as...").decode('utf8'), _(u"Save tab as...").decode('utf8')) @@ -233,27 +248,33 @@ class IraFrame(wx.Frame): file_menu.Append(wx.ID_EXIT, _(u"Exit").decode('utf8')) edit_menu = wx.Menu() - edit_menu.Append(wx.ID_PREFERENCES, '', _(u'Preferences').decode('utf8')) + edit_menu.Append(wx.ID_PREFERENCES, _(u'Preferences').decode('utf8')) view_menu = wx.Menu() view_menu.Append(ID_ACCEUIL, _(u"Home page").decode('utf8')) view_menu.Append(ID_VIEWDATA, _(u"Show data").decode('utf8')) view_menu.Append(ID_RESULT, _(u'Show results').decode('utf8')) #view_menu.AppendSeparator() - analyse_menu = wx.Menu() - analyse_menu.Append(ID_Freq, _(u"Frequencies").decode('utf8')) - analyse_menu.Append(ID_Chi2, _(u"Chi2").decode('utf8')) - #analyse_menu.Append(ID_Student, u"t de Student") + matrix_menu = wx.Menu() + matrix_menu.Append(ID_Freq, _(u"Frequencies").decode('utf8')) + matrix_menu.Append(ID_FreqMulti, _(u'Multiple frequencies').decode('utf8')) + matrix_menu.Append(ID_Chi2, _(u"Chi2").decode('utf8')) + #matrix_menu.Append(ID_Student, u"t de Student") menu_classif = wx.Menu() menu_classif.Append(ID_CHDReinert, _(u"Reinert's Method").decode('utf8')) #menu_classif.Append(ID_CHDSIM, u"Par matrice des distances") - analyse_menu.AppendMenu(-1, _(u"Clustering").decode('utf8'), menu_classif) - #analyse_menu.Append(ID_AFCM, u"AFCM") - analyse_menu.Append(ID_SIMI, _(u"Similarities Analysis").decode('utf8')) - analyse_menu.Append(ID_proto, _(u"Prototypical Analysis").decode('utf8')) + matrix_menu.AppendMenu(-1, _(u"Clustering").decode('utf8'), menu_classif) + #matrix_menu.Append(ID_AFCM, u"AFCM") + matrix_menu.Append(ID_SIMI, _(u"Similarities Analysis").decode('utf8')) + matrix_menu.Append(ID_proto, _(u"Prototypical Analysis").decode('utf8')) ID_RCODE = wx.NewId() - analyse_menu.Append(ID_RCODE, u"Code R...") - self.analyse_menu = analyse_menu + #matrix_menu.Append(ID_RCODE, u"Code R...") + #menu_splittab = wx.Menu() + #ID_SPLITVAR = wx.NewId() + #splitvar = wx.MenuItem(menu_splittab, ID_SPLITVAR, _(u"Split from variable").decode('utf8')) + #menu_splittab.AppendItem(splitvar) + #matrix_menu.AppendMenu(-1, _(u"Split matrix").decode('utf8'), menu_splittab) + self.matrix_menu = matrix_menu text_menu = wx.Menu() #text_menu.Append(ID_CHECKCORPUS, u"Vérifier le corpus") @@ -276,7 +297,7 @@ class IraFrame(wx.Frame): self.mb.Append(file_menu, _(u"File").decode('utf8')) self.mb.Append(edit_menu, _(u"Edition").decode('utf8')) self.mb.Append(view_menu, _(u"View").decode('utf8')) - self.mb.Append(analyse_menu, _(u"Matrix analysis").decode('utf8')) + self.mb.Append(matrix_menu, _(u"Matrix analysis").decode('utf8')) self.mb.Append(text_menu, _(u"Text analysis").decode('utf8')) self.mb.Append(help_menu, _(u"Help").decode('utf8')) @@ -284,8 +305,8 @@ class IraFrame(wx.Frame): #-------------------------------------------------------------------- self.statusbar = self.CreateStatusBar(2, wx.ST_SIZEGRIP) self.statusbar.SetStatusWidths([-2, -3]) - self.statusbar.SetStatusText(u"Prêt", 0) - self.statusbar.SetStatusText(u"Bienvenue", 1) + self.statusbar.SetStatusText(_(u"Ready").decode('utf8'), 0) + self.statusbar.SetStatusText(_(u"Welcome").decode('utf8'), 1) # min size for the frame itself isn't completely done. # see the end up FrameManager::Update() for the test @@ -319,7 +340,7 @@ class IraFrame(wx.Frame): # f.write('') self.history = History(os.path.join(UserConfigPath, 'history.db')) self.tree = LeftTree(self) - self._mgr.AddPane(self.tree, aui.AuiPaneInfo().Name("lefttree").Caption(_(u"Navigator").decode('utf8')). + self._mgr.AddPane(self.tree, aui.AuiPaneInfo().Name("lefttree").Caption(_(u"Historic").decode('utf8')). Left().MinSize(wx.Size(200,500)).Layer(1).Position(1).CloseButton(False).MaximizeButton(True). MinimizeButton(True)) @@ -374,13 +395,15 @@ class IraFrame(wx.Frame): self.Bind(wx.EVT_MENU, self.ExtractTools, extractmod) self.Bind(wx.EVT_MENU, self.ExtractTools, extractthem) self.Bind(wx.EVT_MENU, self.OnFreq, id=ID_Freq) + self.Bind(wx.EVT_MENU, self.OnFreqMulti, id=ID_FreqMulti) self.Bind(wx.EVT_MENU, self.OnChi2, id=ID_Chi2) self.Bind(wx.EVT_MENU, self.OnStudent, id=ID_Student) self.Bind(wx.EVT_MENU, self.OnCHDSIM, id=ID_CHDSIM) self.Bind(wx.EVT_MENU, self.OnCHDReinert, id=ID_CHDReinert) self.Bind(wx.EVT_MENU, self.OnAFCM, id=ID_AFCM) self.Bind(wx.EVT_MENU, self.OnProto, id=ID_proto) - self.Bind(wx.EVT_MENU, self.OnRCode, id=ID_RCODE) + #self.Bind(wx.EVT_MENU, self.OnRCode, id=ID_RCODE) + #self.Bind(wx.EVT_MENU, self.OnSplitVar, id=ID_SPLITVAR) #self.Bind(wx.EVT_MENU, self.OnCheckcorpus, id = ID_CHECKCORPUS) self.Bind(wx.EVT_MENU, self.OnTextStat, id=ID_TEXTSTAT) self.Bind(wx.EVT_MENU, self.OnTextSpec, id=ID_ASLEX) @@ -435,9 +458,9 @@ class IraFrame(wx.Frame): ##############################################################@ self.DisEnSaveTabAs(False) - self.ShowMenu(_("View").decode('utf8'), False) - self.ShowMenu(_("Matrix analysis").decode('utf8'), False) - self.ShowMenu(_("Text analysis").decode('utf8'), False) + self.ShowMenu('view', False) + self.ShowMenu('matrix', False) + self.ShowMenu('text', False) self._mgr.Update() @@ -499,24 +522,13 @@ vous devez signaler le chemin de l'éxecutable de R dans les préférences.""" pass dlg.Destroy() - def setlangue(self) : + self.pref.read(self.ConfigPath['preferences']) try : - self.pref.read(self.ConfigPath['preferences']) guilangue = self.pref.get('iramuteq', 'guilanguage') - if guilangue == 'french' : - self.presLan_fr.install() - else : - self.presLan_en.install() - mylocale = wx.Locale(langues[guilangue]) - mylocale.AddCatalogLookupPathPrefix(os.path.join(AppliPath,'locale')) - mylocale.AddCatalog('iramuteq') except : - self.presLan_fr.install() - mylocale = wx.Locale(langues['french']) - mylocale.AddCatalogLookupPathPrefix(os.path.join(AppliPath,'locale')) - mylocale.AddCatalog('iramuteq') - + guilangue = DefaultConf.get('iramuteq', 'guilanguage') + self.preslangue.get(guilangue, 'english').install() def OnVerif(self, evt) : pack = CheckRPackages(self) @@ -535,9 +547,19 @@ vous devez signaler le chemin de l'éxecutable de R dans les préférences.""" item.Enable(DISEN) def ShowMenu(self, menu, Show=True): - menu_pos = self.mb.FindMenu(menu) - self.mb.EnableTop(menu_pos, Show) - self.mb.UpdateMenus() + if menu == 'text' : + menu_pos = 4 + elif menu == 'matrix' : + menu_pos = 3 + elif menu == 'view' : + menu_pos = 2 + else : + menu_pos = None + + #menu_pos = self.mb.FindMenu(menu) + if not menu_pos is None : + self.mb.EnableTop(menu_pos, Show) + self.mb.UpdateMenus() #-------------------------------------------------------------------- @@ -556,15 +578,22 @@ vous devez signaler le chemin de l'éxecutable de R dans les préférences.""" self.tableau = Tableau(self,os.path.abspath(self.input_path[0])) val = get_table_param(self, self.input_path[0]) if val == wx.ID_OK : - self.tableau.make_content() - OpenAnalyse(self, self.tableau.parametres) - self.tree.OnItemAppend(self.tableau.parametres) + busy = wx.BusyInfo(_("Please wait...").decode('utf8'), self) + wx.SafeYield() + try : + self.tableau.make_content() + OpenAnalyse(self, self.tableau.parametres) + self.tree.OnItemAppend(self.tableau.parametres) + del busy + except : + del busy + BugReport(self) #self.tableau.show_tab() def OnOpenAnalyse(self, event): self.AnalysePath = OnOpen(self, "Analyse") OpenAnalyse(self, self.AnalysePath[1][0], True) - self.ShowMenu(_("View")) + self.ShowMenu('view') def OnOpenText(self, event): inputname, self.input_path = OnOpen(self, "Texte") @@ -573,8 +602,6 @@ vous devez signaler le chemin de l'éxecutable de R dans les préférences.""" self.OpenText() def OnViewData(self, event): - print self.type - print self.DataTxt if self.type == "Data": if not self.DataPop : self.Sheet.Populate(self.content) @@ -592,16 +619,17 @@ vous devez signaler le chemin de l'éxecutable de R dans les préférences.""" self._mgr.Update() def OnSubText(self, corpus, parametres = None): - busy = wx.BusyInfo(_("Please wait...").decode('utf8'), self) - wx.SafeYield() + if corpus is None : + corpus = self.tree.getcorpus() builder = SubBuilder(self, corpus, parametres) - del busy if builder.res == wx.ID_OK : + busy = wx.BusyInfo(_("Please wait...").decode('utf8'), self) + wx.SafeYield() corpus = builder.doanalyse() - print corpus.parametres['uuid'] self.history.add(corpus.parametres) self.tree.OnItemAppend(corpus.parametres) OpenAnalyse(self, corpus.parametres) + del busy def OpenText(self): dlg = wx.ProgressDialog("Ouverture...", @@ -619,13 +647,14 @@ vous devez signaler le chemin de l'éxecutable de R dans les préférences.""" self.tree.OnItemAppend(corpus.parametres) OpenAnalyse(self, corpus.parametres) except : + dlg.Destroy() BugReport(self) else : count = 1 keepGoing = dlg.Update(count, u"Lecture du fichier") - self.ShowMenu(_(u"View").decode('utf8')) - self.ShowMenu(_(u"Text analysis").decode('utf8')) - self.ShowMenu(_(u"Matrix analysis").decode('utf8'), False) + self.ShowMenu('view') + self.ShowMenu('text') + self.ShowMenu('matrix', False) self.type = "Texte" self.DataTxt = False self.Text = '' @@ -654,7 +683,7 @@ Laboratoire LERASS REPERE """ info.WebSite = ("http://www.iramuteq.org", u"Site web IRaMuTeQ") - dev = ConfigGlob.get('DEFAULT', 'dev').split(';') + dev = ConfigGlob.get('DEFAULT', 'dev').decode('utf8').split(';') info.Developers = dev info.License = u"""Iramuteq est un logiciel libre ; vous pouvez le diffuser et/ou le modifier suivant les termes de la Licence Publique Générale GNU telle que publiée @@ -686,11 +715,11 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, États-Unis.""" if 'parametres' in dir(npage) : self.tree.GiveFocus(uuid=npage.parametres['uuid']) if npage.parametres.get('matrix', False) : - self.ShowMenu(_(u"Text analysis").decode('utf8'), False) - self.ShowMenu(_(u"Matrix analysis").decode('utf8'), True) + self.ShowMenu('text', False) + self.ShowMenu('matrix', True) elif npage.parametres.get('corpus', False) : - self.ShowMenu(_(u"Text analysis").decode('utf8')) - self.ShowMenu(_(u"Matrix analysis").decode('utf8'), False) + self.ShowMenu('text') + self.ShowMenu('matrix', False) def OnCloseTab(self, evt): #log.info('Closing tab %s' % str(evt.GetEventObject())) @@ -704,34 +733,7 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, États-Unis.""" self.history.rmtab(page.parametres) self.tree.CloseItem(uuid = page.parametres['uuid']) TabTitle = self.nb.GetPageText(self.nb.GetSelection()) -# if self.DictTab != {} : -# if TabTitle in self.DictTab : -# ListFile=self.DictTab[TabTitle] -# if False in ListFile: -# msg = u""" -# Certains résultats ne sont pas enregistrer. -# Voulez-vous fermer quand même ?""" -# dlg = wx.MessageDialog(self, msg, "Sauvegarde",wx.YES_NO | wx.NO_DEFAULT | wx.ICON_QUESTION) -# -# dlg.CenterOnParent() -# if dlg.ShowModal() in [wx.ID_NO, wx.ID_CANCEL]: -# remove = False -# evt.Veto() -# dlg.Destroy() -# else : -# for f in ListFile[1:] : -# print 'remove', f -# os.remove(f) -# remove = True -# dlg.Destroy() -# elif True in ListFile : -# remove = True -# if remove: -# del self.DictTab[TabTitle] -# else : -# self.LastTabClose() -# else : -# remove = True + if self.nb.GetPageCount() == 1 and not notebook : self.LastTabClose() @@ -745,40 +747,6 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, États-Unis.""" else : self.ShowAPane("Intro_Text") -# def OnSaveTabAs(self, event): -# SelectTab = self.nb.GetSelection() -# TabTitle = self.nb.GetPageText(SelectTab) -# FileToSave = self.DictTab[TabTitle] -# NewListFile = [] -# dlg = wx.FileDialog( -# self, message="Enregistrer sous...", defaultDir=os.getcwd(), -# defaultFile="resultat.html", wildcard="Tous les fichiers|*", style=wx.SAVE | wx.OVERWRITE_PROMPT -# ) -# dlg.SetFilterIndex(2) -# dlg.CenterOnParent() -# -# if dlg.ShowModal() == wx.ID_OK: -# Path = dlg.GetPath() -# Dirname = os.path.dirname(Path) -# Filename = dlg.GetFilename() -# else : -# Path = False -# dlg.Destroy() -# if Path: -# shutil.copyfile(FileToSave[-1], Path) -# os.remove(FileToSave[len(FileToSave) - 1]) -# NewListFile.append(True) -# NewListFile.append(Path) -# for f in FileToSave[1:-1] : -# Fileout = os.path.join(Dirname, os.path.basename(f)) -# shutil.copyfile(f, Fileout) -# NewListFile.append(Fileout) -# os.remove(f) -# TabText = Filename -# self.DictTab[TabText] = NewListFile -# del self.DictTab[TabTitle] -# self.nb.SetPageText(SelectTab, TabText) - def GetStartPosition(self): self.x = self.x + 20 @@ -811,41 +779,36 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, États-Unis.""" ################################################################ #debut des analyses ################################################################ - def analyse_matrix(self, analyse, analyse_type = '', matrix = None, dlgnb = 1): + def analyse_matrix(self, analyse, analyse_type = '', matrix = None, parametres = None, dlgnb = 1): if matrix is None : matrix = self.tree.getmatrix() - #try : - analyse(self, matrix, parametres = {'type' : analyse_type}, dlg = progressbar(self, dlgnb)) - #except: - # BugReport(self) + if parametres is not None : + parametres['type'] = analyse_type + else : + parametres = {'type' : analyse_type} + try : + #print 'plus de bug@@@@@@@@@@@@@@@@@@@@@@' + analyse(self, matrix, parametres = parametres, dlg = dlgnb) + except: + BugReport(self) def OnFreq(self, event, matrix = None): self.analyse_matrix(Frequences, analyse_type = 'freq', matrix = matrix, dlgnb = 3) - #if matrix is None : - # matrix = self.tree.getmatrix() - #try: - # Frequences(self, matrix, parametres = {'type' : 'freq'}, dlg = progressbar(self, 3)) - #except: - # BugReport(self) + + def OnFreqMulti(self, event, matrix = None): + self.analyse_matrix(FreqMultiple, analyse_type = 'freqmulti', matrix = matrix, dlgnb = 3) def OnChi2(self, event, matrix = None): - #try: self.analyse_matrix(ChiSquare, matrix = matrix, analyse_type = 'chi2', dlgnb = 3) - #except: - # BugReport(self) def OnSimiTab(self, event, matrix = None): - if matrix is None : - matrix = self.tree.getmatrix() - try: - DoSimi(self, matrix, parametres = {'type' : 'simimatrix'}, dlg = progressbar(self, 3)) - except: - BugReport(self) + self.analyse_matrix(DoSimi, matrix = matrix, analyse_type = 'simimatrix', dlgnb = 5) def OnCHDReinert(self, event, matrix = None): - if matrix is None : - matrix = self.tree.getmatrix() - AnalyseQuest(self, matrix, parametres = {'type' : 'reinertmatrix'}, dlg = progressbar(self, 3)) + #if matrix is None : + # matrix = self.tree.getmatrix() + #AnalyseQuest(self, matrix, parametres = {'type' : 'reinertmatrix'}, dlg = 3) + self.analyse_matrix(AnalyseQuest, matrix = matrix, analyse_type = 'reinertmatrix', dlgnb = 5) def OnStudent(self, event): try: @@ -877,8 +840,14 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, États-Unis.""" # except: # BugReport(self) - def OnProto(self, evt) : - Prototypical(self, {'type' : 'proto'}) + def OnProto(self, evt, matrix = None) : + self.analyse_matrix(Prototypical, matrix = matrix, analyse_type = 'proto', dlgnb = 3) + #Prototypical(self, {'type' : 'proto'}) + + def OnSplitVar(self, evt, matrix = None): + self.analyse_matrix(SplitMatrixFromVar, matrix = matrix, analyse_type = 'splitvar', parametres = {'pathout': matrix.pathout.dirout}, dlgnb = 3) + matrix = self.tree.getmatrix() + def OnSimiTxt(self, evt, corpus = None) : # print 'PLUS DE BUG SUR SIMITXT' @@ -886,7 +855,7 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, États-Unis.""" #self.Text = SimiTxt(self) if corpus is None : corpus = self.tree.getcorpus() - self.Text = SimiTxt(self, corpus, parametres = {'type': 'simitxt'}, dlg = progressbar(self, 3)) + self.Text = SimiTxt(self, corpus, parametres = {'type': 'simitxt'}, dlg = 3) if self.Text.val == wx.ID_OK : PlaySound(self) except : @@ -897,14 +866,14 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, États-Unis.""" try : if corpus is None : corpus = self.tree.getcorpus() - self.Text = WordCloud(self, corpus, parametres = {'type' : 'wordcloud'}, dlg = progressbar(self, 3)) + self.Text = WordCloud(self, corpus, parametres = {'type' : 'wordcloud'}, dlg = 3) if self.Text.val == wx.ID_OK : PlaySound(self) except : BugReport(self) def OnClusterCloud(self, corpus, parametres = None) : - self.Text = ClusterCloud(self, corpus, parametres = parametres, dlg = progressbar(self, 3)) + self.Text = ClusterCloud(self, corpus, parametres = parametres, dlg = 3) def OnAFCM(self, event): try: @@ -917,7 +886,7 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, États-Unis.""" try: if corpus is None : corpus = self.tree.getcorpus() - self.Text = Stat(self, corpus, parametres = {'type': 'stat'}, dlg = progressbar(self, 7)) + self.Text = Stat(self, corpus, parametres = {'type': 'stat'}, dlg = 7) if self.Text.val == wx.ID_OK : PlaySound(self) @@ -930,7 +899,7 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, États-Unis.""" #print('ATTENTION : PLUS DE BUG SUR LEXICO') if corpus is None : corpus = self.tree.getcorpus() - self.Text = Lexico(self, corpus, parametres = {'type' : 'spec'}, dlg = progressbar(self, 3)) + self.Text = Lexico(self, corpus, parametres = {'type' : 'spec'}, dlg = 3) if self.Text.val == wx.ID_OK : PlaySound(self) except: @@ -982,7 +951,7 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, États-Unis.""" #RunAnalyse(self, corpus, Alceste, OptAlceste) if corpus is None : corpus = self.tree.getcorpus() - self.Text = Reinert(self, corpus, parametres = {'type': 'alceste'}, dlg = progressbar(self,6)) + self.Text = Reinert(self, corpus, parametres = {'type': 'alceste'}, dlg = 6) if self.Text.val == wx.ID_OK: PlaySound(self) except: @@ -992,14 +961,14 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, États-Unis.""" try: if corpus is None : corpus = self.tree.getcorpus() - self.Text = AnalysePam(self, corpus, parametres = {'type' : 'pamtxt'}, dlg = progressbar(self,6)) + self.Text = AnalysePam(self, corpus, parametres = {'type' : 'pamtxt'}, dlg = 6) if self.Text.val == wx.ID_OK: PlaySound(self) except: BugReport(self) - def SimiCluster(self, parametres = {}, fromprof = False, pathout = '', listactives = [], actives = [], tableau = None) : - DoSimi(self, param = parametres, fromprof = fromprof, listactives = listactives, actives = actives, tableau = tableau) + def SimiCluster(self, parametres = {}, fromprof = False, tableau = None) : + self.analyse_matrix(DoSimi, parametres = parametres, analyse_type = 'simiclustermatrix', matrix = tableau, dlgnb = 5) # def OnSimi(self,evt): # try : @@ -1046,9 +1015,14 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, États-Unis.""" if truepath : if os.path.splitext(self.filename)[1] in ['.csv', '.xls', '.ods']: self.tableau = Tableau(self, self.filename) - get_table_param(self, self.filename) - self.tableau.make_content() - self.tableau.show_tab() + val = get_table_param(self, self.filename) + if val == wx.ID_OK : + self.tableau.make_content() + OpenAnalyse(self, self.tableau.parametres) + self.tree.OnItemAppend(self.tableau.parametres) + #get_table_param(self, self.filename) + #self.tableau.make_content() + #self.tableau.show_tab() #open_data(self, self.filename) elif os.path.splitext(self.filename)[1] == '.txt': self.OpenText()