#------------------------------------
import wx
#import wx.aui
-#import wx.lib.agw.aui as aui
-import agw.aui as aui
+if wx.__version__ >= '2.11' :
+ import wx.lib.agw.aui as aui
+else :
+ import aui
import wx.html
import wx.grid
import wx.lib.hyperlink as hl
#from textafcuci import AfcUci
#from textchdalc import AnalyseAlceste
from analysetxt import Alceste
-from textdist import PamTxt
+from textdist import AnalysePam
from textstat import Stat
from textaslexico import Lexico
from textsimi import SimiTxt, SimiFromCluster
from textwordcloud import WordCloud
from profile_segment import ProfileSegment
-from textcheckcorpus import checkcorpus
+#from textcheckcorpus import checkcorpus
from openanalyse import OpenAnalyse
-from corpusNG import BuildFromAlceste, Builder
+from corpus import BuildFromAlceste, Builder
from sheet import MySheet
from checkinstall import CreateIraDirectory, CheckRPath, FindRPAthWin32, FindRPathNix, CheckRPackages, IsNew, UpgradeConf, CopyConf, RLibsAreInstalled
from chemins import ConstructRscriptsPath, ConstructConfigPath, ConstructDicoPath, ConstructGlobalPath, PathOut
from parse_factiva_xml import ImportFactiva
+from tools import Extract
from tree import LeftTree
##########################################################
#fichiers log pour windows (py2exe)
log = logging.getLogger('iramuteq')
fh = logging.FileHandler(os.path.join(UserConfigPath,'stdout.log'))
-ch = logging.StreamHandler()
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
-ch.setFormatter(formatter)
fh.setFormatter(formatter)
-log.addHandler(ch)
log.addHandler(fh)
+if sys.platform != 'win32' and sys.platform != 'darwin':
+ ch = logging.StreamHandler()
+ ch.setFormatter(formatter)
+ log.addHandler(ch)
log.setLevel(logging.INFO)
-
class writer(object):
def write(self, data):
if data.strip() != '' :
- log.info('BUG : %s' % data)
+ log.info('ERROR : %s' % data)
+
+class printer(object) :
+ def write(self, data) :
+ if data.strip() != '' :
+ log.info('Print : %s' % data)
+
sys.stderr = writer()
+sys.stdout = printer()
+
ConfigPath = ConstructConfigPath(UserConfigPath)
#####################################################################
menuFactiva.AppendItem(fact_from_xml)
menuFactiva.AppendItem(fact_from_mail)
menuFactiva.AppendItem(fact_from_txt)
-
file_menu.AppendMenu(-1, _(u"Import from factiva"), menuFactiva)
- #item1.Enable(True)
-
+
+ menuTools = wx.Menu()
+ splitvar = wx.MenuItem(menuTools, wx.ID_ANY, _(u"Split from variable"))
+ extractmod = wx.MenuItem(menuTools, wx.ID_ANY, _(u"Extract mods"))
+ menuTools.AppendItem(splitvar)
+ menuTools.AppendItem(extractmod)
+ self.ID_splitvar = splitvar.GetId()
+ self.ID_extractmod = extractmod.GetId()
+ file_menu.AppendMenu(-1, _(u"Tools"), menuTools)
+
+
item = wx.MenuItem(file_menu, ID_SaveTab, _(u"Save tab as..."), _(u"Save tab as..."))
item.SetBitmap(wx.ArtProvider_GetBitmap(wx.ART_FILE_SAVE_AS))
- #item.Enable(False)
file_menu.AppendItem(item)
file_menu.Append(wx.ID_EXIT, _(u"Exit"))
analyse_menu.Append(ID_Chi2, u"Chi2")
#analyse_menu.Append(ID_Student, u"t de Student")
menu_classif = wx.Menu()
- menu_classif.Append(ID_CHDAlceste, u"Méthode Alceste")
+ menu_classif.Append(ID_CHDAlceste, u"Méthode GNEPA")
menu_classif.Append(ID_CHDSIM, u"Par matrice des distances")
analyse_menu.AppendMenu(-1, u"Classification", menu_classif)
analyse_menu.Append(ID_AFCM, u"AFCM")
analyse_menu.Append(ID_RCODE, u"Code R...")
text_menu = wx.Menu()
- text_menu.Append(ID_CHECKCORPUS, u"Vérifier le corpus")
+ #text_menu.Append(ID_CHECKCORPUS, u"Vérifier le corpus")
text_menu.Append(ID_TEXTSTAT, u"Statistiques textuelles")
text_menu.Append(ID_ASLEX, u"Spécificités et AFC")
#text_menu.Append(ID_TEXTAFCM, u"AFC sur UCI / Vocabulaire")
menu_classiftxt = wx.Menu()
- menu_classiftxt.Append(ID_TEXTALCESTE, u"Méthode Alceste")
+ menu_classiftxt.Append(ID_TEXTALCESTE, u"Méthode GNEPA")
menu_classiftxt.Append(ID_TEXTPAM, u"Par matrice des distances")
text_menu.AppendMenu(-1, u"Classification", menu_classiftxt)
text_menu.Append(ID_SimiTxt, u'Analyse de similitude')
self.Bind(wx.EVT_MENU, self.import_factiva_xml, fact_from_xml)
self.Bind(wx.EVT_MENU, self.import_factiva_mail, fact_from_mail)
self.Bind(wx.EVT_MENU, self.import_factiva_txt, fact_from_txt)
+ self.Bind(wx.EVT_MENU, self.ExtractTools, splitvar)
+ self.Bind(wx.EVT_MENU, self.ExtractTools, extractmod)
self.Bind(wx.EVT_MENU, self.OnFreq, id=ID_Freq)
self.Bind(wx.EVT_MENU, self.OnChi2, id=ID_Chi2)
self.Bind(wx.EVT_MENU, self.OnStudent, id=ID_Student)
self.Bind(wx.EVT_MENU, self.OnCHDAlceste, id=ID_CHDAlceste)
self.Bind(wx.EVT_MENU, self.OnAFCM, id=ID_AFCM)
self.Bind(wx.EVT_MENU, self.OnRCode, id=ID_RCODE)
- self.Bind(wx.EVT_MENU, self.OnCheckcorpus, id = ID_CHECKCORPUS)
+ #self.Bind(wx.EVT_MENU, self.OnCheckcorpus, id = ID_CHECKCORPUS)
self.Bind(wx.EVT_MENU, self.OnTextStat, id=ID_TEXTSTAT)
self.Bind(wx.EVT_MENU, self.OnTextSpec, id=ID_ASLEX)
self.Bind(wx.EVT_MENU, self.OnTextAfcm, id=ID_TEXTAFCM)
if self.SysEncoding == 'mac-roman' : self.SysEncoding = 'MacRoman'
self.type = ''
+##############################################################@
+ self.DisEnSaveTabAs(False)
+ self.ShowMenu(_("View"), False)
+ self.ShowMenu(_("Spreadsheet analysis"), False)
+ self.ShowMenu(_("Text analysis"), False)
+
+ self._mgr.Update()
+
+ self.DataPop = False
+ self.DataTxt = False
+ self.Text = ''
+
+ self.lexique = None
+ self.corpus = None
+
+ def finish_init(self) :
try :
self.pref.read(self.ConfigPath['preferences'])
if IsNew(self) :
UpgradeConf(self)
self.pref.read(self.ConfigPath['preferences'])
New = True
+ self.sound = self.pref.getboolean('iramuteq', 'sound')
+ self.check_update = self.pref.getboolean('iramuteq', 'checkupdate')
+ self.version = ConfigGlob.get('DEFAULT', 'version')
#configuration des chemins de R
self.PathPath = ConfigParser()
self.PathPath.read(ConfigPath['path'])
if dlg.ShowModal() in [wx.ID_NO, wx.ID_CANCEL]:
evt.Veto()
dlg.Destroy()
- self.DataPop = False
- self.DataTxt = False
- self.Text = ''
- self.sound = self.pref.getboolean('iramuteq', 'sound')
- self.check_update = self.pref.getboolean('iramuteq', 'checkupdate')
- self.version = ConfigGlob.get('DEFAULT', 'version')
- self.lexique = None
- self.corpus = None
-##############################################################@
- self.DisEnSaveTabAs(False)
- self.ShowMenu(_("View"), False)
- self.ShowMenu(_("Spreadsheet analysis"), False)
- self.ShowMenu(_("Text analysis"), False)
-
- self._mgr.Update()
+
def OnVerif(self, evt) :
pack = CheckRPackages(self)
#Disable SaveTabAs
file_menu = self.mb.GetMenu(0)
items = file_menu.GetMenuItems()
- items[4].Enable(DISEN)
+ for item in items :
+ if item.GetId() == ID_SaveTab :
+ item.Enable(DISEN)
def ShowMenu(self, menu, Show=True):
menu_pos = self.mb.FindMenu(menu)
except:
BugReport(self)
- def OnCheckcorpus(self, evt):
- try :
- checkcorpus(self)
- except :
- BugReport(self)
+# def OnCheckcorpus(self, evt):
+# try :
+# checkcorpus(self)
+# except :
+# BugReport(self)
def OnTextStat(self, event, corpus = None):
print 'PAS DE BUG SUR TEXT STAT'
except :
BugReport(self)
+ def ExtractTools(self, evt) :
+ ID = evt.GetId()
+ if ID == self.ID_splitvar :
+ Extract(self, 'splitvar')
+ else :
+ Extract(self, 'mods')
+
def OnTextAlceste(self, event, corpus = None):
try:
#print('ATTENTION : PLUS DE BUG SUR ALCESTE')
except:
BugReport(self)
- def OnPamSimple(self, event):
+ def OnPamSimple(self, event, corpus = None):
try:
- self.Text = PamTxt(self)
+ if corpus is None :
+ corpus = self.tree.getcorpus()
+ self.Text = AnalysePam(self, corpus, parametres = {'type' : 'pamtxt'}, dlg = progressbar(self,6))
if self.Text.val == wx.ID_OK:
PlaySound(self)
except:
BugReport(self)
+
+ def SimiCluster(self, parametres = {}, fromprof = False, pathout = '', listactives = [], actives = [], tableau = None) :
+ DoSimi(self, param = parametres, fromprof = fromprof, pathout = pathout, listactives = listactives, actives = actives, tableau = tableau)
def OnSimi(self,evt):
- try :
+ #try :
#print 'ATTENTION !!!! VERGES'
+ print 'PLUS DE BUG SUR SIMI'
self.res = DoSimi(self, param = None)
#self.res = Verges(self)
if self.res.val == wx.ID_OK :
PlaySound(self)
- except :
- BugReport(self)
+ #except :
+ # BugReport(self)
#################################################################
def OnHelp(self, event):
def ShowMain(self):
frame = IraFrame(None, -1, "IRaMuTeQ " + ConfigGlob.get('DEFAULT', 'version'), size=(1100, 800))
frame.Show()
+ frame.finish_init()
frame.Upgrade()
frame.OnOpenFromCmdl()
# if self.fc.IsRunning():