multisplit
[iramuteq] / analysematrix.py
index 9803994..40bd5b9 100644 (file)
@@ -1,17 +1,26 @@
-#!/bin/env python
 # -*- coding: utf-8 -*-
 #Author: Pierre Ratinaud
-#Copyright (c) 2013 Pierre Ratinaud
-#License: GNU GPL
-
-
+#Copyright (c) 2008-2020 Pierre Ratinaud
+#modification pour python 3 : Laurent Mérat, 6x7 - mai 2020
+#License: GNU/GPL
 
+#------------------------------------
+# import des modules python
+#------------------------------------
 import logging
 import os
 from uuid import uuid4
+from time import time, sleep
+
+#------------------------------------
+# import des modules wx
+#------------------------------------
+
+#------------------------------------
+# import des fichiers du projet
+#------------------------------------
 from chemins import PathOut
 from functions import exec_rcode, check_Rresult, DoConf, progressbar
-from time import time, sleep
 from openanalyse import OpenAnalyse
 
 
@@ -25,9 +34,9 @@ class AnalyseMatrix :
         self.dlg = dlg
         self.parametres = parametres
         self.val = False
-        self.parametres['pathout'] = PathOut(tableau.parametres['originalpath'], analyse_type = self.parametres['type'], dirout = tableau.parametres['pathout']).mkdirout()
         if not 'pathout' in self.parametres :
-            self.pathout = PathOut(tableau.parametres['originalpath'], analyse_type = self.parametres['type'], dirout = tableau.parametres['pathout'])
+            self.parametres['pathout'] = PathOut(tableau.parametres['originalpath'], analyse_type = self.parametres['type'], dirout = tableau.parametres['pathout']).mkdirout()
+            self.pathout = PathOut(analyse_type = self.parametres['type'], dirout = self.parametres['pathout'])
         else :
             self.pathout = PathOut(filename = tableau.parametres['originalpath'], dirout = self.parametres['pathout'], analyse_type = self.parametres['type'])
 
@@ -48,29 +57,34 @@ class AnalyseMatrix :
         else :
             result_analyse = False
         if result_analyse is None :
-            self.time = time() - self.t1
-            minutes, seconds = divmod(self.time, 60)
-            hours, minutes = divmod(minutes, 60)            
-            self.parametres['time'] = '%.0fh %.0fm %.0fs' % (hours, minutes, seconds)
-            self.parametres['ira'] = self.pathout['Analyse.ira']
-            DoConf().makeoptions([self.parametres['type']], [self.parametres], self.pathout['Analyse.ira'])
-            self.ira.history.addMatrixAnalyse(self.parametres)
+            if self.parametres.get('tohistory', True) :
+                self.time = time() - self.t1
+                minutes, seconds = divmod(self.time, 60)
+                hours, minutes = divmod(minutes, 60)
+                self.parametres['time'] = '%.0fh %.0fm %.0fs' % (hours, minutes, seconds)
+                self.parametres['ira'] = self.pathout['Analyse.ira']
+                DoConf().makeoptions([self.parametres['type']], [self.parametres], self.pathout['Analyse.ira'])
+                self.ira.history.addMatrixAnalyse(self.parametres)
             if self.dlg is not None :
                 self.dlg.Destroy()
-                OpenAnalyse(self.parent, self.parametres['ira'])
-                self.ira.tree.AddMatAnalyse(self.parametres)
+                if self.parametres.get('tohistory', True) :
+                    OpenAnalyse(self.parent, self.parametres['ira'])
+                    self.ira.tree.AddMatAnalyse(self.parametres)
                 self.val = 5100
         else :
             self.val = False
             if self.dlg is not None :
-                self.dlg.Destroy()
+                try :
+                    self.dlg.Destroy()
+                except :
+                    pass
  
     def doanalyse(self) :
         pass
-    
+
     def doparametres(self, dlg = None):
         pass
-    
+
     def doR(self, Rscript, wait = False, dlg = None, message = '') :
         #log.info('R code...')
         pid = exec_rcode(self.ira.RPath, Rscript, wait = wait)
@@ -81,4 +95,3 @@ class AnalyseMatrix :
             else :
                 sleep(0.2)
         return check_Rresult(self.ira, pid)
-