X-Git-Url: http://www.iramuteq.org/git?a=blobdiff_plain;f=textaslexico.py;h=14f054bc5a2899c59418c0f502522ee9d44bf5d4;hb=refs%2Fheads%2F3.0;hp=000e8d03c8ab6d5df48c000809f940bc25a16e0d;hpb=6919f2ef8d85c176c7be824b606c4b71142e10fd;p=iramuteq diff --git a/textaslexico.py b/textaslexico.py index 000e8d0..14f054b 100644 --- a/textaslexico.py +++ b/textaslexico.py @@ -1,52 +1,62 @@ # -*- coding: utf-8 -*- #Author: Pierre Ratinaud -#Copyright (c) 2008-2011 Pierre Ratinaud +#Copyright (c) 2008-2020 Pierre Ratinaud +#modification pour python 3 : Laurent Mérat, 6x7 - mai 2020 #License: GNU/GPL -from chemins import ConstructPathOut, StatTxtPathOut, PathOut -#from corpus import Corpus -from analysetxt import AnalyseText -import wx +#------------------------------------ +# import des modules python +#------------------------------------ import os -#import sys -#from listlex import * -from functions import exec_rcode, progressbar, check_Rresult, CreateIraFile, print_liste, treat_var_mod, write_tab, DoConf, TGen -from dialog import OptLexi#, StatDialog -#from openanalyse import OpenAnalyse import tempfile -#from ConfigParser import RawConfigParser -#from guifunct import getPage, getCorpus -from PrintRScript import TgenSpecScript from time import sleep import logging +#------------------------------------ +# import des modules wx +#------------------------------------ +import wx + +#------------------------------------ +# import des fichiers du projet +#------------------------------------ +from chemins import ConstructPathOut, StatTxtPathOut, PathOut, ffr +from analysetxt import AnalyseText +from functions import exec_rcode, progressbar, check_Rresult, CreateIraFile, print_liste, treat_var_mod, write_tab, DoConf, TGen +from dialog import OptLexi #, StatDialog +from PrintRScript import TgenSpecScript + + log = logging.getLogger('iramuteq.spec') + class Lexico(AnalyseText) : + def doanalyse(self) : pathout = self.pathout.dirout self.dictpathout = StatTxtPathOut(pathout) self.parametres['ira'] = self.dictpathout['ira'] + self.dlg = progressbar(self, 3) self.make_lexico() if self.dlg : try : self.dlg.Destroy() except : pass - + def DoR(self): nbligne = 5 colonne = 1 txt = """ source("%s") source("%s") - """ % (self.parent.RscriptsPath['chdfunct'], self.parent.RscriptsPath['Rgraph']) + """ % (ffr(self.parent.RscriptsPath['chdfunct']), ffr(self.parent.RscriptsPath['Rgraph'])) txt += """ dmf<-read.csv2("%s",row.names=1) - """ % self.dictpathout['tableafcm'] + """ % ffr(self.dictpathout['tableafcm']) txt += """ dmt<-read.csv2("%s",row.names=1) - """ % self.dictpathout['tabletypem'] + """ % ffr(self.dictpathout['tabletypem']) txt += """ indice <- "%s" """ % self.parametres['indice'] @@ -72,21 +82,21 @@ class Lexico(AnalyseText) : banalspec <- specf<-outf[[1]][banal,] banal <- cbind(banalfreq, banalspec) write.csv2(banal,file="%s") - """ % self.pathout['banalites.csv'] + """ % ffr(self.pathout['banalites.csv']) txt += """ specf<-outf[[1]] spect<-outt[[1]] write.csv2(specf,file="%s") - """ % self.dictpathout['tablespecf'] + """ % ffr(self.dictpathout['tablespecf']) txt += """ write.csv2(spect,file="%s") - """ % self.dictpathout['tablespect'] + """ % ffr(self.dictpathout['tablespect']) txt += """ write.csv2(outf[[3]],file="%s") - """ % self.dictpathout['eff_relatif_forme'] + """ % ffr(self.dictpathout['eff_relatif_forme']) txt += """ write.csv2(outt[[3]],file="%s") - """ % self.dictpathout['eff_relatif_type'] + """ % ffr(self.dictpathout['eff_relatif_type']) if self.parametres['clnb'] > 2 : txt += """ library(ca) @@ -133,13 +143,12 @@ class Lexico(AnalyseText) : debsup <- NULL debet <- NULL clnb <- ncol(specf) - """ % (self.dictpathout['afcf_row'], self.dictpathout['afcf_col'], self.dictpathout['afct_row'], self.dictpathout['afct_col'], self.dictpathout['afcf_facteur_csv'], self.dictpathout['afcf_col_csv'], self.dictpathout['afcf_row_csv'], self.dictpathout['afct_facteur_csv'], self.dictpathout['afct_col_csv'], self.dictpathout['afct_row_csv']) - + """ % (ffr(self.dictpathout['afcf_row']), ffr(self.dictpathout['afcf_col']), ffr(self.dictpathout['afct_row']), ffr(self.dictpathout['afct_col']), ffr(self.dictpathout['afcf_facteur_csv']), ffr(self.dictpathout['afcf_col_csv']), ffr(self.dictpathout['afcf_row_csv']), ffr(self.dictpathout['afct_facteur_csv']), ffr(self.dictpathout['afct_col_csv']), ffr(self.dictpathout['afct_row_csv'])) txt += """ save.image("%s") - """ % self.dictpathout['RData'] + """ % ffr(self.dictpathout['RData']) tmpfile = tempfile.mktemp(dir=self.parent.TEMPDIR) - tmpscript = open(tmpfile, 'w') + tmpscript = open(tmpfile, 'w' ,encoding='utf8') tmpscript.write(txt) tmpscript.close() self.doR(tmpfile, dlg = self.dlg, message = 'R...') @@ -162,6 +171,7 @@ class Lexico(AnalyseText) : else : ListEt = variables[var[dial.list_box_1.GetSelections()[0]]] self.listet = ListEt + self.listet.sort() self.parametres['mineff'] = dial.spin.GetValue() if dial.choice_indice.GetSelection() == 0 : self.parametres['indice'] = 'hypergeo' @@ -189,36 +199,37 @@ class Lexico(AnalyseText) : #log.warning('ATTENTION : hapax par etoile') #tabout.append(['hapax'] + self.corpus.gethapaxbyet(self.listet)) write_tab(tabout, self.dictpathout['tableafcm']) - #log.warning('ATTENTION : gethapaxuces') #self.corpus.gethapaxuces() - tabout = self.corpus.make_efftype_from_etoiles(self.listet) write_tab(tabout, self.dictpathout['tabletypem']) if self.dlg : - self.dlg.Update(2, u'R...') + self.dlg.Update(2, 'R...') self.DoR() if self.dlg : - self.dlg.Update(3, u'Chargement...') - afcf_graph_list = [[os.path.basename(self.dictpathout['afcf_row']), u'lignes'],\ - [os.path.basename(self.dictpathout['afcf_col']), u'colonnes']] - afct_graph_list = [[os.path.basename(self.dictpathout['afct_row']), u'lignes'],\ - [os.path.basename(self.dictpathout['afct_col']), u'colonnes']] + self.dlg.Update(3, 'Chargement...') + afcf_graph_list = [[os.path.basename(self.dictpathout['afcf_row']), 'lignes'],\ + [os.path.basename(self.dictpathout['afcf_col']), 'colonnes']] + afct_graph_list = [[os.path.basename(self.dictpathout['afct_row']), 'lignes'],\ + [os.path.basename(self.dictpathout['afct_col']), 'colonnes']] print_liste(self.dictpathout['liste_graph_afcf'],afcf_graph_list) print_liste(self.dictpathout['liste_graph_afct'],afct_graph_list) #DoConf().makeoptions(['spec'],[self.parametres], self.dictpathout['ira']) + class TgenSpec(AnalyseText): + def __init__(self, ira, corpus, parametres): self.ira = ira self.corpus = corpus self.parametres = parametres self.pathout = PathOut(dirout = self.parametres['pathout']) self.doanalyse() - + def doanalyse(self): - self.tgen = TGen(path = self.parametres['tgenpath']) + self.tgen = TGen(path = self.parametres['tgenpath'], encoding = self.ira.syscoding) self.tgen.read(self.tgen.path) + self.parametres['etoiles'].sort() tgenocc, totocc = self.corpus.make_tgen_table(self.tgen, self.parametres['etoiles']) self.parametres['tgeneff'] = os.path.join(self.parametres['pathout'], 'tgeneff.csv') self.tgen.writetable(self.parametres['tgeneff'], tgenocc, totocc) @@ -227,5 +238,3 @@ class TgenSpec(AnalyseText): self.Rscript.make_script() self.Rscript.write() self.doR(self.Rscript.scriptout, dlg = False, message = 'R...') - - \ No newline at end of file