...
[iramuteq] / openanalyse.py
index c55fef3..33792b8 100644 (file)
@@ -33,11 +33,19 @@ class OpenAnalyse():
         if self.conf['type'] == 'corpus' :
             corpus = self.opencorpus()
         elif self.conf['corpus'] in self.parent.history.corpus :
+            if self.conf['uuid'] in self.parent.history.analyses :
+                intree  = True
+            else :
+                intree = False
             corpus = self.openanalyse()
             if self.conf.get('lem',1) :
                corpus.make_lems(True)
             else :
                corpus.make_lems(False)
+            if not intree :
+                self.parent.tree.AddAnalyse(self.conf, bold = True)
+            else :
+                self.parent.tree.GiveFocus(uuid = self.conf['uuid'], bold = True)
             self.doopen(corpus)
         else :
             corpus = None
@@ -56,7 +64,7 @@ class OpenAnalyse():
             log.info('add to history')
             self.parent.tree.OnItemAppend(self.conf)
         if self.conf['uuid'] in self.parent.history.openedcorpus :
-            log.info('corpus is already opened')
+            log.info('corpus is already opened 1')
             self.doopen(self.parent.history.openedcorpus[self.conf['uuid']])
         else :
             corpus = Corpus(self, parametres = self.conf, read = self.parent.history.history[self.parent.history.ordercorpus[self.conf['uuid']]]['ira'])
@@ -65,24 +73,30 @@ class OpenAnalyse():
             self.doopen(corpus)
 
     def opencorpus_analyses(self) :
+        log.info('open analysis')
         basepath = self.conf['pathout']
+        analyses = []
         for root, subfolders, files in os.walk(basepath) :
             for folder in subfolders :
                 if os.path.exists(os.path.join(folder, 'Analyse.ira')) :
                     analyse_conf = DoConf(os.path.join(folder, 'Analyse.ira')).getoptions()
                     analyse_conf = self.redopath(analyse_conf, os.path.join(folder, 'Analyse.ira'))
                     if analyse_conf['corpus'] == self.conf['uuid'] :
-                        self.parent.history.add(analyse_conf)
-                        self.parent.tree.AddAnalyse(analyse_conf, bold = False)
+                        analyses.append(analyse_conf)
+        if len(analyses) :
+            self.parent.history.addmultiple(analyses)
+        for analyse in analyses :
+            self.parent.tree.AddAnalyse(analyse, bold = False)
 
     def openanalyse(self) :
         if self.conf['corpus'] in self.parent.history.openedcorpus :
-            log.info('corpus is already opened')
+            log.info('corpus is already opened 2')
             corpus = self.parent.history.openedcorpus[self.conf['corpus']]
         else :
             if os.path.exists(self.parent.history.history[self.parent.history.ordercorpus[self.conf['corpus']]]['ira']) :
                 corpus = Corpus(self, parametres = DoConf(self.parent.history.history[self.parent.history.ordercorpus[self.conf['corpus']]]['ira']).getoptions('corpus'), read = self.parent.history.history[self.parent.history.ordercorpus[self.conf['corpus']]]['ira'])
                 self.parent.history.openedcorpus[self.conf['corpus']] = corpus
+        self.parent.history.add(self.conf)
         return corpus
 
     def doopen(self, corpus) :
@@ -98,9 +112,10 @@ class OpenAnalyse():
         elif self.conf['type'] == 'alceste' :
             self.parent.ShowMenu(_("Text analysis"))
             OpenCHDS(self.parent,  corpus, self.conf, Alceste = True)
-        elif self.conf['type'] == 'simitxt' :
+        elif self.conf['type'] == 'simitxt' or self.conf['type'] == 'clustersimitxt' :
             self.parent.ShowMenu(_("Text analysis"))
             SimiLayout(self.parent, corpus, self.conf)
         elif self.conf['type'] == 'wordcloud' :
             self.parent.ShowMenu(_("Text analysis"))
             WordCloudLayout(self.parent, corpus, self.conf)
+