X-Git-Url: http://iramuteq.org/git?p=iramuteq;a=blobdiff_plain;f=iramuteq.py;h=d3ae6f3a0ed78b3cf8d9c531be9c118c0101e89f;hp=17d348fb44a556e56f548ac599e5981ab0ff097a;hb=517dfd1d0717a55f98ff0d5efd91c5f5cdf28a82;hpb=be2de22859c8f59abe9e1082981e4c3a62e9b7ca diff --git a/iramuteq.py b/iramuteq.py index 17d348f..d3ae6f3 100644 --- a/iramuteq.py +++ b/iramuteq.py @@ -28,8 +28,10 @@ import logging #------------------------------------ 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 @@ -59,11 +61,13 @@ from textwordcloud import WordCloud from profile_segment import ProfileSegment 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 ########################################################## ID_OpenData = wx.NewId() @@ -120,20 +124,28 @@ CreateIraDirectory(UserConfigPath, AppliPath) #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) ##################################################################### @@ -187,14 +199,28 @@ class IraFrame(wx.Frame): item.SetBitmap(wx.ArtProvider_GetBitmap(wx.ART_FILE_OPEN)) file_menu.AppendItem(item) - item1 = wx.MenuItem(file_menu, ID_Import, _(u"Import a factiva corpora..."), _("Import a factiva corpora...")) - item1.SetBitmap(wx.ArtProvider_GetBitmap(wx.ART_TIP)) - file_menu.AppendItem(item1) - #item1.Enable(True) - + + menuFactiva = wx.Menu() + fact_from_xml = wx.MenuItem(menuFactiva, wx.ID_ANY, _(u"from xml")) + fact_from_mail = wx.MenuItem(menuFactiva, wx.ID_ANY, _(u"from mail")) + fact_from_txt = wx.MenuItem(menuFactiva, wx.ID_ANY, _(u"from copy/paste")) + menuFactiva.AppendItem(fact_from_xml) + menuFactiva.AppendItem(fact_from_mail) + menuFactiva.AppendItem(fact_from_txt) + file_menu.AppendMenu(-1, _(u"Import from factiva"), menuFactiva) + + 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")) @@ -332,7 +358,11 @@ class IraFrame(wx.Frame): self.Bind(wx.EVT_MENU, self.OnOpenData, id=ID_OpenData) self.Bind(wx.EVT_MENU, self.OnOpenText, id=ID_OpenText) self.Bind(wx.EVT_MENU, self.OnOpenAnalyse, id=ID_OnOpenAnalyse) - self.Bind(wx.EVT_MENU, self.import_factiva, id= ID_Import) + 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) @@ -465,7 +495,9 @@ vous devez signaler le chemin de l'éxecutable de R dans les préférences.""" #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) @@ -886,12 +918,31 @@ Voulez-vous fermer quand même ?""" except: BugReport(self) - def import_factiva(self,event): + def import_factiva_xml(self,event): try : - ImportFactiva(self) + ImportFactiva(self, 'xml') except : BugReport(self) + def import_factiva_mail(self, evt) : + try : + ImportFactiva(self, 'mail') + except : + BugReport(self) + + def import_factiva_txt(self, evt) : + try : + ImportFactiva(self, 'txt') + 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')