-#!/bin/env python
# -*- coding: utf-8 -*-
#Author: Pierre Ratinaud
-#Copyright (c) 2008 Pierre Ratinaud
-#Lisense: GNU/GPL
+#Copyright (c) 2008-2020 Pierre Ratinaud
+#modification pour python 3 : Laurent Mérat, 6x7 - mai 2020
+#License: GNU/GPL
+#------------------------------------
+# import des modules python
+#------------------------------------
import os
+import sys
import tempfile
import logging
+
log = logging.getLogger('iramuteq.chemins')
+def normpath_win32(path) :
+ if not sys.platform == 'win32' :
+ return path
+ while '\\\\' in path :
+ path = path.replace('\\\\', '\\')
+ if sys.platform == 'win32' and path.startswith('\\') and not path.startswith('\\\\') :
+ path = '\\' + path
+ return path
+
class PathOut :
def __init__(self, filename = None, analyse_type = '', dirout = None) :
if filename is not None :
self.filename, self.fileext = os.path.splitext(self.filebasename)
self.analyse = analyse_type
#self.dirout = self.mkdirout(dirout)
- if dirout is not None:
- self.dirout = dirout
+ if dirout is not None:
+ self.dirout = os.path.abspath(dirout)
elif filename is not None and dirout is None:
- self.dirout = self.directory
- self.d = {}
+ self.dirout = os.path.abspath(self.directory)
+ self.d = {}
def mkdirout(self) :
dirout = os.path.join(self.dirout, self.filename + '_' + self.analyse + '_')
nb = 1
- tdirout = dirout + `nb`
+ tdirout = dirout + repr(nb)
while os.path.exists(tdirout) :
nb += 1
- tdirout = dirout + `nb`
+ tdirout = dirout + repr(nb)
self.name = os.path.splitext(tdirout)[1]
return tdirout
+ def makenew(self, filename, ext):
+ nb = 1
+ newfile = '_'.join([os.path.join(self.dirout, filename), '%i' % nb]) + '.' + ext
+ while os.path.exists(newfile) :
+ nb += 1
+ newfile = '_'.join([os.path.join(self.dirout, filename), '%i' % nb]) + '.' + ext
+ return newfile
+
def createdir(self, tdirout) :
if not os.path.exists(tdirout) :
os.mkdir(tdirout)
self.temp = tempfile.mkstemp(prefix='iramuteq')[1].replace('\\', '\\\\')
return self.temp
elif key not in self.d :
- return os.path.join(self.dirout, key).replace('\\', '\\\\')
+ f = os.path.join(self.dirout, key).replace('\\', '\\\\')
+ return normpath_win32(f)
+ #return os.path.join(self.dirout, key).replace('\\', '\\\\')
else :
- return os.path.join(self.dirout, self.d[key]).replace('\\', '\\\\')
+ f = os.path.join(self.dirout, self.d[key]).replace('\\', '\\\\')
+ return normpath_win32(f)
+ #return os.path.join(self.dirout, self.d[key]).replace('\\', '\\\\')
def getF(self, key) :
return self.__getitem__(key).replace('\\', '/')
-
def ffr(filename):
return filename.replace('\\', '\\\\')
-
+
def FFF(filename):
return filename.replace('\\', '/')
+RscriptsPath = {
+ 'Rfunct': 'Rfunct.R',
+ 'chdfunct': 'chdfunct.R',
+ 'Rgraph': 'Rgraph.R',
+ 'plotafcm': 'plotafcm.R',
+ 'afc_graph' : 'afc_graph.R',
+ #'CHD': 'CHDPOND.R',
+ 'CHD': 'CHD.R',
+ #'CHD' : 'NCHD.R',
+ 'chdtxt': 'chdtxt.R',
+ 'chdquest': 'chdquest.R',
+ 'pamtxt' : 'pamtxt.R',
+ 'anacor' : 'anacor.R',
+ #'anacor' : 'Nanacor.R',
+ 'simi' : 'simi.R',
+ }
+
def ConstructRscriptsPath(AppliPath):
RScriptsPath = os.path.join(AppliPath, 'Rscripts')
#print('@@@@@@@@@@@PONDERATION CHDPOND.R@@@@@@@@@@@@@@@@')
else :
ConfigPath = AppliPath
DictConfigPath = {
- 'alceste': os.path.join(ConfigPath, 'alceste.cfg'),
+ 'reinert': os.path.join(ConfigPath, 'reinert.cfg'),
'key': os.path.join(ConfigPath, 'key.cfg'),
'path': os.path.join(ConfigPath, 'path.cfg'),
'preferences' : os.path.join(ConfigPath, 'iramuteq.cfg'),
'pam' : os.path.join(ConfigPath, 'pam.cfg'),
- 'history' : os.path.join(ConfigPath, 'history.db'),
'corpus' : os.path.join(ConfigPath, 'corpus.cfg'),
'stat' : os.path.join(ConfigPath, 'stat.cfg'),
'simitxt' : os.path.join(ConfigPath, 'simitxt.cfg'),
+ 'matrix' : os.path.join(ConfigPath, 'matrix.cfg'),
}
return DictConfigPath
ConfigPath = os.path.join(AppliPath, 'configuration')
DictConfigPath = {
'global': os.path.join(ConfigPath, 'global.cfg'),
+ 'preferences': os.path.join(ConfigPath, 'iramuteq.cfg'),
}
return DictConfigPath
'portuguese_exp': os.path.join(BasePath, 'expression_pt.txt'),
'greek' : os.path.join(BasePath, 'lexique_gr.txt'),
'greek_exp' : os.path.join(BasePath, 'expression_gr.txt'),
+ 'spanish' : os.path.join(BasePath, 'lexique_sp.txt'),
+ 'spanish_exp' : os.path.join(BasePath, 'expression_sp.txt'),
+ 'galician' : os.path.join(BasePath, 'lexique_gl.txt'),
+ 'galician_exp' : os.path.join(BasePath, 'expression_gl.txt'),
}
return DictPath
'rapport': 'RAPPORT.txt',
'pre_rapport' : 'info.txt',
'uce': 'uce.csv',
- 'Rchdtxt': ffr(tempfile.mkstemp(prefix='iramuteq')[1]),
+ 'Rchdtxt': tempfile.mkstemp(prefix='iramuteq')[1].replace('\\', '\\\\'),
'arbre1': 'arbre_1.png',
'arbre2': 'arbre_2.png',
'dendro1': 'dendro1.png',
'AFC2DCoulSup': 'AFC2DCoulSup.png',
'AFC2DCoulEt': 'AFC2DCoulEt.png',
'AFC2DCoulCl': 'AFC2DCoulCl.png',
- 'Rafc3d': ffr(tempfile.mkstemp(prefix='iramuteq')[1]),
- 'R3DCoul': ffr(tempfile.mkstemp(prefix='iramuteq')[1]),
+ 'Rafc3d': tempfile.mkstemp(prefix='iramuteq')[1].replace('\\', '\\\\'),
+ 'R3DCoul': tempfile.mkstemp(prefix='iramuteq')[1].replace('\\', '\\\\'),
'RESULT_CHD': 'resultats-chd.html',
'RESULT_AFC': 'resultats-afc.html',
- 'Act01': 'Act01.csv',
'Et01': 'Et01.csv',
- 'Rchdquest':ffr(tempfile.mkstemp(prefix='iramuteq')[1]),
- 'RTxtProfGraph':ffr(tempfile.mkstemp(prefix='iramuteq')[1]),
+ 'Rchdquest':tempfile.mkstemp(prefix='iramuteq')[1].replace('\\', '\\\\'),
+ 'RTxtProfGraph':tempfile.mkstemp(prefix='iramuteq')[1].replace('\\', '\\\\'),
'typelist': 'typelist.csv',
'concord':'concordancier.csv',
'bduceforme':'bduceforme.csv',
}
return d
-def construct_simipath(pathout):
- d = {'mat01' : ffr(os.path.join(pathout, 'mat01.csv')),
- 'matsimi' : ffr(os.path.join(pathout, 'matsimi.csv')),
- 'eff' : ffr(os.path.join(pathout, 'eff.csv')),
- 'RData' : ffr(os.path.join(pathout, 'RData.RData')),
- 'liste_graph' : os.path.join(pathout, 'liste_graph.txt'),
- 'ira' : os.path.join(pathout, 'Analyse.ira'),
- 'film' : ffr(pathout),
- 'db' : os.path.join(pathout, 'analyse.db'),
- 'corpus' : os.path.join(pathout, 'corpus.db'),
- }
- return d
+# ???
+#def construct_simipath(pathout):
+# d = {'mat01' : 'mat01.csv',
+# 'matsimi' : 'matsimi.csv',
+# 'eff' : 'eff.csv',
+# 'RData' : 'RData.RData',
+# 'liste_graph' : 'liste_graph.txt',
+# 'ira' : 'Analyse.ira',
+# 'film' : '',
+# 'db' : 'analyse.db',
+# }
simipath = {'mat01' : 'mat01.csv',
'matsimi' : 'matsimi.csv',