X-Git-Url: http://iramuteq.org/git?p=iramuteq;a=blobdiff_plain;f=analysematrix.py;h=5daf6ae80b5261498868ec46e40791b3a445a85b;hp=7b861a6af55b9a132638caaebe28cf8a96f74c0e;hb=148fe710bf14981c45e865e8b4ddb68333e62f7c;hpb=2ffa9388c45dce689bb45c1cf6c7ad81d2636409;ds=sidebyside diff --git a/analysematrix.py b/analysematrix.py index 7b861a6..5daf6ae 100644 --- a/analysematrix.py +++ b/analysematrix.py @@ -2,62 +2,80 @@ # -*- coding: utf-8 -*- #Author: Pierre Ratinaud #Copyright (c) 2013 Pierre Ratinaud -#Lisense: GNU GPL +#License: GNU GPL import logging import os -from time import time from uuid import uuid4 - - from chemins import PathOut -from functions import exec_rcode, check_Rresult, DoConf +from functions import exec_rcode, check_Rresult, DoConf, progressbar from time import time, sleep from openanalyse import OpenAnalyse + class AnalyseMatrix : - def __init__(self, ira, tableau, parametres = None, dlg = False) : + def __init__(self, ira, tableau, parametres = None, dlg = None) : self.tableau = tableau + if self.tableau.csvtable is None : + self.tableau.open() self.ira = ira self.parent = ira self.dlg = dlg self.parametres = parametres self.val = False if not 'pathout' in self.parametres : - self.pathout = PathOut(tableau.parametres['filename'], analyse_type = parametres['type'], dirout = 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['filename'], dirout = self.parametres['pathout'], analyse_type = self.parametres['type']) + self.pathout = PathOut(filename = tableau.parametres['originalpath'], dirout = self.parametres['pathout'], analyse_type = self.parametres['type']) - self.parametres['pathout'] = self.pathout.dirout + #self.parametres['pathout'] = self.pathout.dirout self.parametres['uuid'] = str(uuid4()) self.parametres['name'] = os.path.split(self.parametres['pathout'])[1] self.parametres['encoding'] = self.ira.syscoding - - self.t1 = time() - result_analyse = self.doanalyse() + self.parametres['matrix'] = self.tableau.parametres['uuid'] + self.tableau.pathout.dirout = self.parametres['pathout'] + self.doparametres(dlg = dlg) + if self.dlg is not None : + self.dlg = progressbar(self.ira, self.dlg) + if self.parametres is not None : + self.t1 = time() + if not os.path.exists(self.parametres['pathout']) : + self.pathout.createdir(self.parametres['pathout']) + result_analyse = self.doanalyse() + 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.addMatrix(self.parametres) - if dlg : - dlg.Destroy() - OpenAnalyse(self.parent, self.parametres['ira']) - #self.ira.tree.AddAnalyse(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() + 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 dlg : - dlg.Destroy() + if self.dlg is not None : + 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)