X-Git-Url: http://iramuteq.org/git?p=iramuteq;a=blobdiff_plain;f=analyse_merge.py;fp=analyse_merge.py;h=549ac793871bc1461057a3763cd29a643c8d5bcd;hp=0000000000000000000000000000000000000000;hb=11658a48940defe4f9b849e9e32606a646751388;hpb=5249c446f605b92824c1b12fe390563450d90f3f diff --git a/analyse_merge.py b/analyse_merge.py new file mode 100644 index 0000000..549ac79 --- /dev/null +++ b/analyse_merge.py @@ -0,0 +1,54 @@ +# -*- coding: utf-8 -*- +#Author: Pierre Ratinaud +#Copyright (c) 2015 Pierre Ratinaud +#License: GNU/GPL + +import os +from chemins import PathOut +from functions import exec_rcode, check_Rresult +from dialog import MergeDialog +import wx +from time import sleep +from PrintRScript import MergeGraphes + +def merge_graphes(lgraphes): + script = MergeGraphes({'lgraphes':lgraphes, 'grapheout' : '/tmp/graphe.graphml'}) + script.make_script() + script.write() + return script + +class AnalyseMerge : + def __init__(self, ira, parametres, dlg = None): + self.ira = ira + self.dlg = dlg + self.parametres = parametres + if 'pathout' not in self.parametres : + self.parametres['pathout'] = PathOut(self.parametres['fileout'], analyse_type = self.parametres['type'], dirout = os.path.dirname(self.parametres['fileout'])).mkdirout() + self.pathout = PathOut(analyse_type = self.parametres['type'], dirout = self.parametres['pathout']) + else : + self.pathout = PathOut(dirout = self.parametres['pathout'], analyse_type = self.parametres['type']) + if self.doparametres(dlg=dlg) is not None : + script = merge_graphes(self.parametres['graphs']) + self.doR(script.scriptout, dlg=False) + print 'fini' + + + def doparametres(self, dlg=None): + if dlg is not None : + dial = MergeDialog(self.ira) + res = dial.ShowModal() + if res == wx.ID_OK : + self.parametres['graphs'] = [graph.GetPath() for graph in dial.graphs if graph.GetPath() != ''] + return True + return True + + def doR(self, Rscript, wait = False, dlg = None, message = '') : + #log.info('R code...') + pid = exec_rcode(self.ira.RPath, Rscript, wait = wait) + while pid.poll() is None : + if dlg : + self.dlg.Pulse(message) + sleep(0.2) + else : + sleep(0.2) + return check_Rresult(self.ira, pid) \ No newline at end of file