X-Git-Url: http://iramuteq.org/git?p=iramuteq;a=blobdiff_plain;f=openanalyse.py;h=cc50ebea11776106ef9c8c4644d5afd2cb37b8fa;hp=1cf1a03bc602fd0ccc2ef376f433af17720a38bc;hb=13666be5de5eeffbe63774c3c0aecd407b519ac6;hpb=b0333175cc68917ceb33589b0b354bf931fec245 diff --git a/openanalyse.py b/openanalyse.py index 1cf1a03..cc50ebe 100644 --- a/openanalyse.py +++ b/openanalyse.py @@ -5,7 +5,7 @@ #Lisense: GNU/GPL from chemins import ChdTxtPathOut, StatTxtPathOut, construct_simipath -from layout import OpenCHDS, dolexlayout, StatLayout, WordCloudLayout, OpenCorpus +from layout import OpenCHDS, dolexlayout, StatLayout, WordCloudLayout, OpenCorpus, SimiLayout #from corpus import Corpus from corpusNG import Corpus, copycorpus from tableau import Tableau @@ -26,26 +26,68 @@ class OpenAnalyse(): self.parent = parent if isinstance(parametres, dict) : self.conf = DoConf(parametres['ira']).getoptions() + self.path = parametres['ira'] else : self.conf = DoConf(parametres).getoptions() + self.path = parametres + self.conf = self.redopath(self.conf, parametres) - if self.conf.get('corpus', '!!') in self.parent.history.history : - if self.conf.get('corpus', '!!') in self.parent.history.openedcorpus : - log.info('corpus is already opened') - corpus = copycorpus(self.parent.history.openedcorpus[self.conf['corpus']]) - else : - if os.path.exists(self.parent.history.history[self.conf['corpus']]['ira']) : - corpus = Corpus(self, parametres = DoConf(self.parent.history.history[self.conf['corpus']]['ira']).getoptions('corpus'), read = self.parent.history.history[self.conf['corpus']]['ira']) - self.parent.history.openedcorpus[self.conf['corpus']] = corpus + if self.conf['type'] == 'corpus' : + corpus = self.opencorpus() + elif self.conf['corpus'] in self.parent.history.history : + corpus = self.openanalyse() if self.conf.get('lem',1) : corpus.make_lems(True) else : corpus.make_lems(False) + self.doopen(corpus) else : corpus = None - self.doopen(corpus) self.parent.history.addtab(self.conf) - + + def redopath(self, conf, path) : + #if not os.path.exists(conf['ira']) : + 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) : + if self.conf['uuid'] not in self.parent.history.history : + self.parent.history.add(self.conf) + log.info('add to history') + self.parent.tree.OnItemAppend(self.conf) + if self.conf['uuid'] in self.parent.history.openedcorpus : + log.info('corpus is already opened') + self.doopen(self.parent.history.openedcorpus[self.conf['uuid']]) + else : + corpus = Corpus(self, parametres = self.conf, read = self.parent.history.history[self.conf['uuid']]['ira']) + self.parent.history.openedcorpus[self.conf['uuid']] = corpus + self.opencorpus_analyses() + self.doopen(corpus) + + def opencorpus_analyses(self) : + basepath = self.conf['pathout'] + 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) + + #self.parent.tree.OnItemAppend(self.conf) + 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']] + else : + if os.path.exists(self.parent.history.history[self.conf['corpus']]['ira']) : + corpus = Corpus(self, parametres = DoConf(self.parent.history.history[self.conf['corpus']]['ira']).getoptions('corpus'), read = self.parent.history.history[self.conf['corpus']]['ira']) + self.parent.history.openedcorpus[self.conf['corpus']] = corpus + return corpus + def doopen(self, corpus) : print self.conf if self.conf['type'] == 'corpus' : @@ -61,18 +103,21 @@ class OpenAnalyse(): self.parent.ShowMenu(_("Text analysis")) OpenCHDS(self.parent, corpus, self.conf, Alceste = True) elif self.conf['type'] == 'simitxt' : - self.tableau = Tableau(self.parent, self.conf['ira']) - self.DictPathOut=construct_simipath(self.conf['pathout']) - self.tableau.dictpathout = self.DictPathOut - self.tableau.read_tableau(self.tableau.dictpathout['db']) - if self.tableau.parametre.get('corpus', False) : - self.corpus=corpus + 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) + #self.tableau = Tableau(self.parent, self.conf['ira']) + #self.DictPathOut=construct_simipath(self.conf['pathout']) + #self.tableau.dictpathout = self.DictPathOut + #self.tableau.read_tableau(self.tableau.dictpathout['db']) + #if self.tableau.parametre.get('corpus', False) : + # self.corpus=corpus #self.corpus.read_corpus_from_shelves(self.DictPathOut['corpus']) - self.corpus.parametres['openpath'] = self.conf['pathout'] - self.parent.ShowMenu(_("Text analysis")) - DoSimi(self.parent, self.conf, isopen = True, filename = self.conf['ira'], gparent = self, openfromprof=False) + # self.corpus.parametres['openpath'] = self.conf['pathout'] + #DoSimi(self.parent, self.conf, isopen = True, filename = self.conf['ira'], gparent = self, openfromprof=False) - print 'simi' # try : # #if self.conf['type'] in ['analyse','lexico','stat','wordcloud'] : # # self.corpus = Corpus(parent)