X-Git-Url: http://iramuteq.org/git?p=iramuteq;a=blobdiff_plain;f=functions.py;h=9b1c8bf0c43e1286d4b27f62e77c9f1dd42947cf;hp=884e62f1fbfa933eb8f57b1799a23a1d86274253;hb=577acb1594de968ca2550ef0bc1f44e3cf1678f9;hpb=6523e3596df7ec9b7b94b875593953d4b34b6117 diff --git a/functions.py b/functions.py index 884e62f..9b1c8bf 100644 --- a/functions.py +++ b/functions.py @@ -30,6 +30,15 @@ log = logging.getLogger('iramuteq') indices_simi = [u'cooccurrence' ,'pourcentage de cooccurrence',u'Russel',u'Jaccard', 'Kulczynski1', 'Kulczynski2', 'Mountford', 'Fager', 'simple matching', 'Hamman', 'Faith', 'Tanimoto', 'Dice', 'Phi', 'Stiles', 'Michael', 'Mozley', 'Yule', 'Yule2', 'Ochiai', 'Simpson', 'Braun-Blanquet','Chi-squared', 'Phi-squared', 'Tschuprow', 'Cramer', 'Pearson', 'binomial'] +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 TGen : def __init__(self, path = None, encoding = 'utf8'): self.path = path @@ -51,10 +60,11 @@ class TGen : if path is None : path = self.path with open(path, 'w') as f : - f.write('\n'.join(['\t'.join([val] + self.tgen[val]) for val in self.tgen])) + f.write('\n'.join(['\t'.join([val] + self.tgen[val]) for val in self.tgen]).encode(self.encoding)) def writetable(self, pathout, tgens, totocc): etoiles = totocc.keys() + etoiles.sort() with open(pathout, 'w') as f : line = '\t'.join([u'tgens'] + etoiles) + '\n' f.write(line.encode(self.encoding)) @@ -66,7 +76,7 @@ class TGen : while totname + `i` in tgens : i += 1 totname = totname + `i` - line = '\t'.join([totname] + [`totocc[et]` for et in etoiles]) + line = '\t'.join([totname] + [`totocc[et]` for et in etoiles]) + '\n' f.write(line.encode(self.encoding)) class History : @@ -196,7 +206,9 @@ class DoConf : def __init__(self, configfile=None, diff = None, parametres = None) : self.configfile = configfile self.conf = ConfigParser() + if configfile is not None : + configfile = normpath_win32(configfile) self.conf.readfp(codecs.open(configfile, 'r', 'utf8')) self.parametres = {} if parametres is not None : @@ -252,8 +264,9 @@ class DoConf : txt += '%s = %s\n' % (option, `parametres[i][option]`) if outfile is None : outfile = self.configfile - with codecs.open(outfile, 'w', 'utf8') as f : - f.write(txt) + outfile = normpath_win32(outfile) + with open(outfile, 'w') as f : + f.write(txt.encode('utf8')) #self.conf.write(f) def totext(self, parametres) : @@ -674,6 +687,11 @@ def progressbar(self, maxi) : parent = self.parent else : parent = self + try : + print '###horrible hack progressbar' + maxi = int(maxi) + except : + maxi = 1 return wx.ProgressDialog("Traitements", "Veuillez patienter...", maximum=maxi,