Merge branch 'master' of http://www.netdig.org/git/iramuteq
[iramuteq] / openanalyse.py
index 33792b8..ddb205b 100644 (file)
@@ -4,16 +4,15 @@
 #Copyright (c) 2008-2012, Pierre Ratinaud
 #Lisense: GNU/GPL
 
-from chemins import ChdTxtPathOut, StatTxtPathOut, construct_simipath
-from layout import OpenCHDS, dolexlayout, StatLayout, WordCloudLayout, OpenCorpus, SimiLayout
-#from corpus import Corpus
-from corpusNG import Corpus, copycorpus
+from chemins import ChdTxtPathOut, StatTxtPathOut, PathOut
+from layout import OpenCHDS, dolexlayout, StatLayout, WordCloudLayout, OpenCorpus, SimiLayout, SimiMatLayout
+from corpus import Corpus, copycorpus
 from tableau import Tableau
 import os
 import shelve
-#from ConfigParser import *
-from tabsimi import DoSimi
+#from tabsimi import DoSimi
 from functions import BugReport, DoConf
+from tableau import Tableau
 import logging
 
 log = logging.getLogger('iramuteq.openanalyse')
@@ -32,7 +31,7 @@ class OpenAnalyse():
         
         if self.conf['type'] == 'corpus' :
             corpus = self.opencorpus()
-        elif self.conf['corpus'] in self.parent.history.corpus :
+        elif self.conf.get('corpus', False) in self.parent.history.corpus :
             if self.conf['uuid'] in self.parent.history.analyses :
                 intree  = True
             else :
@@ -49,6 +48,19 @@ class OpenAnalyse():
             self.doopen(corpus)
         else :
             corpus = None
+            if isinstance(parametres, dict) :
+                tableau = Tableau(parent, parametres['ira'])
+            else :
+                tableau = Tableau(parent, parametres)
+            tableau.parametres = self.conf 
+            tableau.dictpathout = PathOut(filename = tableau.parametres['filename'], dirout = self.conf['pathout'], analyse_type = self.conf['type'])
+            tableau.dictpathout.basefiles(ChdTxtPathOut)
+            tableau.read_tableau(tableau.dictpathout['db'])
+            if self.parent.tree.IsInTree(uuid = self.conf['uuid']) :
+                self.parent.tree.GiveFocus(uuid = self.conf['uuid'], bold = True)
+            else :
+                self.parent.tree.AddAnalyse(self.conf, bold = True)
+            self.doopen(tableau)
         self.parent.history.addtab(self.conf)
     
     def redopath(self, conf, path) :
@@ -61,10 +73,10 @@ class OpenAnalyse():
         log.info('open corpus')
         if self.conf['uuid'] not in self.parent.history.corpus :
             self.parent.history.add(self.conf) 
-            log.info('add to history')
+            log.info('add corpus to history')
             self.parent.tree.OnItemAppend(self.conf)
         if self.conf['uuid'] in self.parent.history.openedcorpus :
-            log.info('corpus is already opened 1')
+            log.info('corpus is already opened')
             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'])
@@ -90,8 +102,8 @@ class OpenAnalyse():
 
     def openanalyse(self) :
         if self.conf['corpus'] in self.parent.history.openedcorpus :
-            log.info('corpus is already opened 2')
-            corpus = self.parent.history.openedcorpus[self.conf['corpus']]
+            log.info('corpus is already opened')
+            corpus = copycorpus(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'])
@@ -118,4 +130,10 @@ class OpenAnalyse():
         elif self.conf['type'] == 'wordcloud' :
             self.parent.ShowMenu(_("Text analysis"))
             WordCloudLayout(self.parent, corpus, self.conf)
+        elif self.conf['type'] == 'gnepamatrix' :
+            #self.parent.ShowMenu(_("Spreadsheet analysis"))
+            OpenCHDS(self.parent,  corpus, self.conf, Alceste = False)
+        elif self.conf['type'] == 'simimatrix' :
+            #self.parent.ShowMenu(_("Spreadsheet analysis"))
+            SimiMatLayout(self.parent, corpus, self.conf)