multisplit
[iramuteq] / openanalyse.py
index c8089d2..873f4b3 100644 (file)
@@ -1,23 +1,30 @@
-#!/bin/env python
 # -*- coding: utf-8 -*-
 #Author: Pierre Ratinaud
-#Copyright (c) 2008-2012, Pierre Ratinaud
+#Copyright (c) 2008-2020 Pierre Ratinaud
+#modification pour python 3 : Laurent Mérat, 6x7 - mai 2020
 #License: GNU/GPL
 
+#------------------------------------
+# import des modules python
+#------------------------------------
+import os
+import logging
+
+#------------------------------------
+# import des fichiers du projet
+#------------------------------------
 from chemins import ChdTxtPathOut, StatTxtPathOut, PathOut
-from layout import OpenCHDS, dolexlayout, StatLayout, WordCloudLayout, OpenCorpus, SimiLayout, SimiMatLayout, ProtoLayout, MatLayout, FreqLayout, Chi2Layout
+from layout import OpenCHDS, dolexlayout, StatLayout, WordCloudLayout, OpenCorpus, SimiLayout, SimiMatLayout, ProtoLayout, MatLayout, FreqLayout, Chi2Layout, LabbeLayout, CateLayout
 from corpus import Corpus, copycorpus
 from tableau import Tableau
-import os
-#import shelve
-#from tabsimi import DoSimi
 from functions import DoConf, ReadDicoAsDico
-from tableau import Tableau
-import logging
+
 
 log = logging.getLogger('iramuteq.openanalyse')
 
+
 class OpenAnalyse():
+
     def __init__(self, parent, parametres, Alceste=True, simifromprof = False):
         log.info('OpenAnalyse')
         self.parent = parent
@@ -28,7 +35,6 @@ class OpenAnalyse():
             self.conf = DoConf(parametres).getoptions()
             self.path = parametres
             self.conf = self.redopath(self.conf, parametres)
-        
         if self.conf['type'] == 'corpus' :
             corpus = self.opencorpus()
         elif self.conf['type'] == 'matrix' :
@@ -39,7 +45,6 @@ class OpenAnalyse():
             else :
                 intree = False
             corpus = self.openanalyse()
-            
             if self.conf.get('lem',1) :
                 dolem = True
             else :
@@ -58,6 +63,7 @@ class OpenAnalyse():
             corpus = None
             matrix = Tableau(self.parent, parametres = self.parent.history.matrix[self.parent.history.ordermatrix[self.conf['matrix']]])
             matrix.open()
+
             #if isinstance(parametres, dict) :
             #    tableau = Tableau(parent, parametres['ira'])
             #else :
@@ -67,22 +73,23 @@ class OpenAnalyse():
             #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)
             self.doopen(matrix)
         else :
             self.parent.tree.AddAnalyse(self.conf, bold = True)
         self.parent.history.addtab(self.conf)
-    
+
     def redopath(self, conf, path) :
         conf['ira'] = os.path.realpath(path)
         conf['pathout'] = os.path.dirname(os.path.realpath(path))
         DoConf(conf['ira']).makeoptions([conf['type']], [conf])
         return conf
-    
+
     def opencorpus(self) :
         log.info('open corpus')
         if self.conf['uuid'] not in self.parent.history.corpus :
-            self.parent.history.add(self.conf) 
+            self.parent.history.add(self.conf)
             log.info('add corpus to history')
             self.parent.tree.OnItemAppend(self.conf)
         if self.conf['uuid'] in self.parent.history.openedcorpus :
@@ -97,7 +104,7 @@ class OpenAnalyse():
             self.parent.history.openedcorpus[self.conf['uuid']] = corpus
             self.opencorpus_analyses()
             self.doopen(corpus)
-    
+
     def openmatrix(self):
         log.info('open matrix')
         if self.conf['uuid'] not in self.parent.history.ordermatrix :
@@ -114,7 +121,7 @@ class OpenAnalyse():
             matrix.open()
             self.parent.history.openedmatrix[self.conf['uuid']] = matrix
             self.openmatrix_analyses()
-            self.doopen(matrix)        
+            self.doopen(matrix)
             self.parent.history.addtab(self.conf)
 
     def opencorpus_analyses(self) :
@@ -132,7 +139,7 @@ class OpenAnalyse():
             self.parent.history.addmultiple(analyses)
         for analyse in analyses :
             self.parent.tree.AddAnalyse(analyse, bold = False)
-    
+
     def openmatrix_analyses(self):
         pass
 
@@ -149,11 +156,13 @@ class OpenAnalyse():
 
     def doopen(self, corpus) :
         if self.conf['type'] == 'corpus' :
-            OpenCorpus(self.parent, self.conf) 
+            OpenCorpus(self.parent, self.conf)
         elif self.conf['type'] == 'stat' :
             StatLayout(self.parent, corpus, self.conf)
         elif self.conf['type'] == 'spec' :
             dolexlayout(self.parent, corpus, self.conf)
+        elif self.conf['type'] == 'labbe' :
+            LabbeLayout(self.parent, corpus, self.conf)
         elif self.conf['type'] == 'alceste' :
             OpenCHDS(self.parent,  corpus, self.conf, Alceste = True)
         elif self.conf['type'] == 'simitxt' or self.conf['type'] == 'clustersimitxt' :
@@ -170,6 +179,8 @@ class OpenAnalyse():
             MatLayout(self.parent, corpus)
         elif self.conf['type'] == 'freq' or self.conf['type'] == 'freqmulti':
             FreqLayout(self.parent, corpus, self.conf)
-        elif self.conf['type'] == 'chi2' :
+        elif self.conf['type'] == 'chi2' or self.conf['type'] == 'chi2mcnemar':
             Chi2Layout(self.parent, corpus, self.conf)
-        
+        elif self.conf['type'] == 'categorisation' :
+            CateLayout(self.parent, corpus, self.conf)
+            print(self.conf)