X-Git-Url: http://iramuteq.org/git?p=iramuteq;a=blobdiff_plain;f=iramuteq.py;h=d1b6077ac3d3e2c90117bb619af31b4d6dea6c6f;hp=45ec76145deb72d849da0d8e6e654baf40148766;hb=2ffa9388c45dce689bb45c1cf6c7ad81d2636409;hpb=f7b9f8e79ec3d575c29f92a6cea5c83454a62db0 diff --git a/iramuteq.py b/iramuteq.py index 45ec761..d1b6077 100644 --- a/iramuteq.py +++ b/iramuteq.py @@ -49,22 +49,21 @@ from tabafcm import DoAFCM from tabchdalc import AnalyseQuest from tabsimi import DoSimi from tabrsimple import InputText -from tabverges import Verges +from tabverges import Prototypical #from textafcuci import AfcUci -#from textchdalc import AnalyseAlceste from analysetxt import Alceste from textdist import AnalysePam from textstat import Stat from textaslexico import Lexico from textsimi import SimiTxt, SimiFromCluster -from textwordcloud import WordCloud +from textwordcloud import WordCloud, ClusterCloud from profile_segment import ProfileSegment #from textcheckcorpus import checkcorpus from openanalyse import OpenAnalyse from corpus import BuildFromAlceste, Builder from sheet import MySheet from checkinstall import CreateIraDirectory, CheckRPath, FindRPAthWin32, FindRPathNix, CheckRPackages, IsNew, UpgradeConf, CopyConf, RLibsAreInstalled -from chemins import ConstructRscriptsPath, ConstructConfigPath, ConstructDicoPath, ConstructGlobalPath, PathOut +from chemins import RscriptsPath, ConstructConfigPath, ConstructDicoPath, ConstructGlobalPath, PathOut from parse_factiva_xml import ImportFactiva from tools import Extract @@ -96,15 +95,17 @@ ID_RESULT = wx.NewId() ID_VIEWDATA = wx.NewId() ID_HTMLcontent = wx.NewId() ID_SimiTxt = wx.NewId() +ID_proto = wx.NewId() ########################################################## #elements de configuration ########################################################## #encodage if sys.platform == 'darwin' : - sys.setdefaultencoding('utf-8') - wx.SetDefaultPyEncoding('utf-8') + sys.setdefaultencoding('UTF-8') + wx.SetDefaultPyEncoding('UTF-8') else : sys.setdefaultencoding(locale.getpreferredencoding()) + #chemin de l'application AppliPath = os.path.abspath(os.path.dirname(os.path.realpath(sys.argv[0]))) #chemin des images @@ -148,7 +149,6 @@ sys.stdout = printer() ConfigPath = ConstructConfigPath(UserConfigPath) - langues = {'french' : wx.LANGUAGE_FRENCH, 'english' : wx.LANGUAGE_ENGLISH,} ##################################################################### @@ -164,7 +164,9 @@ class IraFrame(wx.Frame): self.AppliPath = AppliPath self.images_path = os.path.join(AppliPath,'images') self.UserConfigPath = UserConfigPath - self.RscriptsPath = ConstructRscriptsPath(AppliPath) + #self.RscriptsPath = ConstructRscriptsPath(AppliPath) + self.RscriptsPath = PathOut(dirout=os.path.join(AppliPath, 'Rscripts')) + self.RscriptsPath.basefiles(RscriptsPath) #self.DictPath = ConstructDicoPath(AppliPath) self.DictPath = ConstructDicoPath(UserConfigPath) self.ConfigGlob = ConfigGlob @@ -240,10 +242,11 @@ class IraFrame(wx.Frame): #analyse_menu.Append(ID_Student, u"t de Student") menu_classif = wx.Menu() menu_classif.Append(ID_CHDAlceste, u"Méthode GNEPA") - menu_classif.Append(ID_CHDSIM, u"Par matrice des distances") + #menu_classif.Append(ID_CHDSIM, u"Par matrice des distances") analyse_menu.AppendMenu(-1, u"Classification", menu_classif) - analyse_menu.Append(ID_AFCM, u"AFCM") + #analyse_menu.Append(ID_AFCM, u"AFCM") analyse_menu.Append(ID_SIMI, u"Analyse de similitudes") + analyse_menu.Append(ID_proto, _(u"Prototypical analysis")) ID_RCODE = wx.NewId() analyse_menu.Append(ID_RCODE, u"Code R...") @@ -254,7 +257,7 @@ class IraFrame(wx.Frame): #text_menu.Append(ID_TEXTAFCM, u"AFC sur UCI / Vocabulaire") menu_classiftxt = wx.Menu() menu_classiftxt.Append(ID_TEXTALCESTE, u"Méthode GNEPA") - menu_classiftxt.Append(ID_TEXTPAM, u"Par matrice des distances") + #menu_classiftxt.Append(ID_TEXTPAM, u"Par matrice des distances") text_menu.AppendMenu(-1, u"Classification", menu_classiftxt) text_menu.Append(ID_SimiTxt, u'Analyse de similitude') ID_WC = wx.NewId() @@ -369,6 +372,7 @@ class IraFrame(wx.Frame): self.Bind(wx.EVT_MENU, self.OnCHDSIM, id=ID_CHDSIM) self.Bind(wx.EVT_MENU, self.OnCHDAlceste, id=ID_CHDAlceste) 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.OnCheckcorpus, id = ID_CHECKCORPUS) self.Bind(wx.EVT_MENU, self.OnTextStat, id=ID_TEXTSTAT) @@ -441,6 +445,7 @@ class IraFrame(wx.Frame): self.pref.read(self.ConfigPath['preferences']) if IsNew(self) : UpgradeConf(self) + self.pref.read(self.ConfigPath['preferences']) New = True else : CopyConf(self) @@ -508,7 +513,7 @@ vous devez signaler le chemin de l'éxecutable de R dans les préférences.""" def OnVerif(self, evt) : pack = CheckRPackages(self) if pack : - dlg = wx.MessageDialog(self, u"Installation OK", u"Installation", wx.OK | wx.NO_DEFAULT | wx.ICON_INFORMATION) + dlg = wx.MessageDialog(self, u"Installation OK", u"Installation", wx.OK | wx.ICON_INFORMATION) dlg.CenterOnParent() if dlg.ShowModal() in [wx.ID_NO, wx.ID_CANCEL]: evt.Veto() @@ -708,7 +713,8 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, États-Unis.""" parent = nobject.GetParent() if isinstance(parent, IraFrame) : npage = self.nb.GetPage(new) - self.tree.GiveFocus(uuid=npage.parametres['uuid']) + if 'parametres' in dir(npage) : + self.tree.GiveFocus(uuid=npage.parametres['uuid']) def OnCloseTab(self, evt): #log.info('Closing tab %s' % str(evt.GetEventObject())) @@ -872,6 +878,9 @@ Voulez-vous fermer quand même ?""" PlaySound(self) except: BugReport(self) + + def OnProto(self, evt) : + Prototypical(self, {'type' : 'proto'}) def OnSimiTxt(self, evt, corpus = None) : # print 'PLUS DE BUG SUR SIMITXT' @@ -896,6 +905,8 @@ Voulez-vous fermer quand même ?""" except : BugReport(self) + def OnClusterCloud(self, corpus, parametres = None) : + self.Text = ClusterCloud(self, corpus, parametres = parametres, dlg = progressbar(self, 3)) def OnAFCM(self, event): try: @@ -910,28 +921,28 @@ Voulez-vous fermer quand même ?""" # BugReport(self) def OnTextStat(self, event, corpus = None): - print 'PAS DE BUG SUR TEXT STAT' - #try: + #print 'PAS DE BUG SUR TEXT STAT' + try: if corpus is None : corpus = self.tree.getcorpus() self.Text = Stat(self, corpus, parametres = {'type': 'stat'}, dlg = progressbar(self, 7)) if self.Text.val == wx.ID_OK : PlaySound(self) - #except: - # BugReport(self) + except: + BugReport(self) def OnTextSpec(self, event, corpus = None): - #try: + try: #self.Text = AsLexico(self) - print('ATTENTION : PLUS DE BUG SUR LEXICO') + #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)) if self.Text.val == wx.ID_OK : PlaySound(self) - #except: - # BugReport(self) + except: + BugReport(self) def OnTextAfcm(self, event): try: @@ -991,15 +1002,15 @@ Voulez-vous fermer quand même ?""" DoSimi(self, param = parametres, fromprof = fromprof, pathout = pathout, listactives = listactives, actives = actives, tableau = tableau) def OnSimi(self,evt): - #try : + try : #print 'ATTENTION !!!! VERGES' - print 'PLUS DE BUG SUR SIMI' + #print 'PLUS DE BUG SUR SIMI' self.res = DoSimi(self, param = None) #self.res = Verges(self) if self.res.val == wx.ID_OK : PlaySound(self) - #except : - # BugReport(self) + except : + BugReport(self) ################################################################# def OnHelp(self, event):