#!/bin/env python
# -*- coding: utf-8 -*-
#Author: Pierre Ratinaud
-#Copyright (c) 2008-2012, Pierre Ratinaud
+#Copyright (c) 2008-2016, Pierre Ratinaud
#License: GNU GPL
from optparse import OptionParser
from dialog import PrefDialog
from tabfrequence import Frequences, FreqMultiple
from tabchi2 import ChiSquare
+from tabchi2mcnemar import McNemar
#from tabstudent import MakeStudent
from tabchddist import ChdCluster
from tabafcm import DoAFCM
from parse_factiva_xml import ImportFactiva
from parse_dmi import ImportDMI
from tools import Extract
+from analyse_merge import AnalyseMerge
from tree import LeftTree
##########################################################
ID_OnOpenAnalyse = wx.NewId()
ID_Freq = wx.NewId()
ID_Chi2 = wx.NewId()
+ID_Chi2mc = wx.NewId()
ID_Student = wx.NewId()
ID_CHDSIM = wx.NewId()
ID_CHDReinert = wx.NewId()
ID_Fact_copy = wx.NewId()
ID_exportmeta = wx.NewId()
ID_importdmi = wx.NewId()
+ID_merge = wx.NewId()
##########################################################
#elements de configuration
##########################################################
DefaultConf = ConfigParser()
DefaultConf.read(DictConfigPath['preferences'])
#repertoire de l'utilisateur
-if os.getenv('HOME') != None:
- user_home = os.getenv('HOME')
-else:
- user_home = os.getenv('HOMEPATH')
+user_home = os.getenv('HOME')
+if user_home is None :
+ user_home = os.path.expanduser('~')
+
UserConfigPath = os.path.abspath(os.path.join(user_home, '.iramuteq'))
#Si pas de fichiers de config utilisateur, on cree le repertoire
CreateIraDirectory(UserConfigPath, AppliPath)
'freq' : 'frequences.png',
'freqmulti' : 'frequences.png',
'chi2' : 'chi2.png',
+ 'chi2mcnemar' : 'chi2.png',
'reinertmatrix' : 'reinertmatrix.png',
'simimatrix' : 'simimatrix.png',
'simiclustermatrix' : 'simimatrix.png',
size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE |
wx.SUNKEN_BORDER |
wx.CLIP_CHILDREN):
- log.info('Starting...')
+ log.info('Starting... ' )
+ log.info('version : %s' % ConfigGlob.get('DEFAULT', 'version'))
wx.Frame.__init__(self, parent, id, title, pos, size, style)
#configuration
self.AppliPath = AppliPath
item.SetBitmap(self.images_analyses['importdmi'])
file_menu.AppendItem(item)
+ item = wx.MenuItem(file_menu, ID_merge, _(u'Merge graphs').decode('utf8'), _(u'Merge graphs').decode('utf8'))
+ file_menu.AppendItem(item)
+
menuFactiva = wx.Menu()
fact_from_xml = wx.MenuItem(menuFactiva, ID_Fact_xml, _(u"from xml").decode('utf8'))
fact_from_xml.SetBitmap(self.images_analyses['factiva_xml'])
matanalyses = [[ID_Freq, _(u"Frequencies").decode('utf8'), 'freq'],
[ID_FreqMulti, _(u"Multiple Frequencies").decode('utf8'), 'freqmulti'],
[ID_Chi2, _(u"Chi2").decode('utf8'), 'chi2'],
+ [ID_Chi2mc, _(u"Chi2 McNemar").decode('utf8'), 'chi2mcnemar'],
{'name' : _(u"Clustering").decode('utf8'),
'content' : [[ID_CHDReinert, _(u"Reinert's Method").decode('utf8'), 'reinertmatrix']]},
[ID_SIMI, _(u"Similarities Analysis").decode('utf8'), 'simimatrix'],
self.Bind(wx.EVT_MENU, self.OnFreq, id=ID_Freq)
self.Bind(wx.EVT_MENU, self.OnFreqMulti, id=ID_FreqMulti)
self.Bind(wx.EVT_MENU, self.OnChi2, id=ID_Chi2)
+ self.Bind(wx.EVT_MENU, self.OnChi2McNemar, id=ID_Chi2mc)
self.Bind(wx.EVT_MENU, self.OnStudent, id=ID_Student)
self.Bind(wx.EVT_MENU, self.OnCHDSIM, id=ID_CHDSIM)
self.Bind(wx.EVT_MENU, self.OnCHDReinert, id=ID_CHDReinert)
self.Bind(wx.EVT_MENU, self.OnImportEuropress, id=ID_ImportEuro)
self.Bind(wx.EVT_MENU, self.OnImportDMI, id=ID_importdmi)
self.Bind(wx.EVT_MENU, self.OnExportMeta, id=ID_exportmeta)
+ self.Bind(wx.EVT_MENU, self.OnMergeGraph, id = ID_merge)
self.Bind(wx.EVT_CLOSE, self.OnClose)
##################################################################
flags = self._mgr.GetAGWFlags()
del busy
def OpenText(self):
- dlg = progressbar(self, 5)
-
- builder = Builder(self, dlg)
+ builder = Builder(self, 5)
if builder.res == wx.ID_OK :
try :
corpus = builder.doanalyse()
self.tree.OnItemAppend(corpus.parametres)
OpenAnalyse(self, corpus.parametres)
except :
- dlg.Destroy()
+ builder.dlg.Destroy()
BugReport(self)
else :
count = 1
- keepGoing = dlg.Update(count, u"Lecture du fichier")
+ keepGoing = builder.dlg.Update(count, u"Lecture du fichier")
self.ShowMenu('view')
self.ShowMenu('text')
self.ShowMenu('matrix', False)
self.DataTxt = False
self.Text = ''
count += 1
- keepGoing = dlg.Update(count, u"Chargement du dictionnaire")
- dlg.Destroy()
+ keepGoing = builder.dlg.Update(count, u"Chargement du dictionnaire")
+ builder.dlg.Destroy()
def OnExit(self, event):
self.Close()
def OnChi2(self, event, matrix = None):
self.analyse_matrix(ChiSquare, matrix = matrix, analyse_type = 'chi2', dlgnb = 3)
+ def OnChi2McNemar(self, event, matrix = None):
+ self.analyse_matrix(McNemar, matrix = matrix, analyse_type = 'chi2mcnemar', dlgnb = 3)
+
def OnSimiTab(self, event, matrix = None):
self.analyse_matrix(DoSimi, matrix = matrix, analyse_type = 'simimatrix', dlgnb = 5)
# PlaySound(self)
# except:
# BugReport(self)
+ def OnMergeGraph(self, evt):
+ #FIXME
+ AnalyseMerge(self, {'type': 'merge', 'fileout' : '/tmp/test.txt'}, dlg = 5)
def OnProto(self, evt, matrix = None) :
self.analyse_matrix(Prototypical, matrix = matrix, analyse_type = 'proto', dlgnb = 3)
else:
truepath = False
else:
- pass
+ return
if truepath :
if os.path.splitext(self.filename)[1] in ['.csv', '.xls', '.ods']:
self.tableau = Tableau(self, self.filename)
bmp = wx.Image(os.path.join(ImagePath, 'splash.png')).ConvertToBitmap()
wx.SplashScreen.__init__(self, bmp,
wx.SPLASH_CENTRE_ON_SCREEN | wx.SPLASH_TIMEOUT,
- 2000, None, -1)
+ 1000, None, -1)
self.Bind(wx.EVT_CLOSE, self.OnClose)
self.fc = wx.FutureCall(1, self.ShowMain)