X-Git-Url: http://iramuteq.org/git?p=iramuteq;a=blobdiff_plain;f=openanalyse.py;h=ddb205b8c54ab31dac5b14b20711df31926dceea;hp=c55fef3ef3368f73079877c79bb03d6244db5328;hb=9d5358d31d7438dfa92c9112adb2ae471ad95aae;hpb=1f82fb8e9ed83b8524b00039f1a8c51c2b12a8be diff --git a/openanalyse.py b/openanalyse.py index c55fef3..ddb205b 100644 --- a/openanalyse.py +++ b/openanalyse.py @@ -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,15 +31,36 @@ 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 : + intree = False corpus = self.openanalyse() if self.conf.get('lem',1) : corpus.make_lems(True) else : corpus.make_lems(False) + if not intree : + self.parent.tree.AddAnalyse(self.conf, bold = True) + else : + self.parent.tree.GiveFocus(uuid = self.conf['uuid'], bold = True) 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) : @@ -53,7 +73,7 @@ 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') @@ -65,24 +85,30 @@ class OpenAnalyse(): self.doopen(corpus) def opencorpus_analyses(self) : + log.info('open analysis') basepath = self.conf['pathout'] + analyses = [] for root, subfolders, files in os.walk(basepath) : for folder in subfolders : if os.path.exists(os.path.join(folder, 'Analyse.ira')) : analyse_conf = DoConf(os.path.join(folder, 'Analyse.ira')).getoptions() analyse_conf = self.redopath(analyse_conf, os.path.join(folder, 'Analyse.ira')) if analyse_conf['corpus'] == self.conf['uuid'] : - self.parent.history.add(analyse_conf) - self.parent.tree.AddAnalyse(analyse_conf, bold = False) + analyses.append(analyse_conf) + if len(analyses) : + self.parent.history.addmultiple(analyses) + for analyse in analyses : + self.parent.tree.AddAnalyse(analyse, bold = False) def openanalyse(self) : if self.conf['corpus'] in self.parent.history.openedcorpus : log.info('corpus is already opened') - corpus = self.parent.history.openedcorpus[self.conf['corpus']] + 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']) self.parent.history.openedcorpus[self.conf['corpus']] = corpus + self.parent.history.add(self.conf) return corpus def doopen(self, corpus) : @@ -98,9 +124,16 @@ class OpenAnalyse(): elif self.conf['type'] == 'alceste' : self.parent.ShowMenu(_("Text analysis")) OpenCHDS(self.parent, corpus, self.conf, Alceste = True) - elif self.conf['type'] == 'simitxt' : + elif self.conf['type'] == 'simitxt' or self.conf['type'] == 'clustersimitxt' : self.parent.ShowMenu(_("Text analysis")) SimiLayout(self.parent, corpus, self.conf) 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) +