#------------------------------------
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 textdist import PamTxt
from textstat import Stat
from textaslexico import Lexico
-from textsimi import SimiTxt
+from textsimi import SimiTxt, SimiFromCluster
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()
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' or sys.platform != 'darwin':
+ 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)
#####################################################################
self.images_path = os.path.join(AppliPath,'images')
self.UserConfigPath = UserConfigPath
self.RscriptsPath = ConstructRscriptsPath(AppliPath)
- self.DictPath = ConstructDicoPath(AppliPath)
+ #self.DictPath = ConstructDicoPath(AppliPath)
+ self.DictPath = ConstructDicoPath(UserConfigPath)
self.ConfigGlob = ConfigGlob
self.ConfigPath = ConstructConfigPath(UserConfigPath)
self.pref = RawConfigParser()
+ #workaround for import problem
+ self.SimiFromCluster = SimiFromCluster
#langues
mylocale = wx.Locale(wx.LANGUAGE_FRENCH)
mylocale.AddCatalogLookupPathPrefix(os.path.join(AppliPath,'locale'))
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"))
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)
#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 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')