windows
[iramuteq] / parse_factiva_xml.py
index d43e9ae..e127ae3 100644 (file)
@@ -84,15 +84,21 @@ class PrefImport(wx.Dialog):
         pre.SetExtraStyle(wx.DIALOG_EX_CONTEXTHELP)
         pre.Create(parent, -1, '', pos, size, style)
         self.PostCreate(pre)
         pre.SetExtraStyle(wx.DIALOG_EX_CONTEXTHELP)
         pre.Create(parent, -1, '', pos, size, style)
         self.PostCreate(pre)
+        self.methode = methode
         if methode in ['xml', 'txm'] :
             txt = _(u'Select a directory of xml files').decode('utf8')
         elif methode == 'euro' :
             txt = _(u'Select a directory of html files').decode('utf8')
         if methode in ['xml', 'txm'] :
             txt = _(u'Select a directory of xml files').decode('utf8')
         elif methode == 'euro' :
             txt = _(u'Select a directory of html files').decode('utf8')
+        elif methode == 'dmi' :
+            txt = _(u'Select a csv file').decode('utf8')
         else :
             txt = _(u'Select a directory of txt files').decode('utf8')
         self.parent = parent
         self.txt1 = wx.StaticText(self, -1, txt)
         else :
             txt = _(u'Select a directory of txt files').decode('utf8')
         self.parent = parent
         self.txt1 = wx.StaticText(self, -1, txt)
-        self.dbb = filebrowse.DirBrowseButton(self, -1, size=(450, -1), changeCallback = self.fbbCallback)
+        if methode != 'dmi' :
+            self.dbb = filebrowse.DirBrowseButton(self, -1, size=(450, -1), changeCallback = self.fbbCallback)
+        else :
+            self.dbb = filebrowse.FileBrowseButton(self, -1, size=(450, -1), fileMode = 2, changeCallback = self.fbbCallback)
         self.dbb.SetLabel("")
         self.txt2 = wx.StaticText(self, -1, _(u'Output file').decode('utf8'))
         self.fbb = filebrowse.FileBrowseButton(self, -1, size=(450, -1), fileMode = 2)
         self.dbb.SetLabel("")
         self.txt2 = wx.StaticText(self, -1, _(u'Output file').decode('utf8'))
         self.fbb = filebrowse.FileBrowseButton(self, -1, size=(450, -1), fileMode = 2)
@@ -133,12 +139,22 @@ class PrefImport(wx.Dialog):
    
     def fbbCallback(self, evt):
         if self.fbb.GetValue() == "" :
    
     def fbbCallback(self, evt):
         if self.fbb.GetValue() == "" :
-            self.fbb.SetValue(os.path.join(self.dbb.GetValue(), 'corpus.txt'))
+            if self.methode != 'dmi' :
+                self.fbb.SetValue(os.path.join(self.dbb.GetValue(), 'corpus.txt'))
+            else :
+                self.fbb.SetValue(os.path.join(os.path.dirname(self.dbb.GetValue()), 'corpus.txt'))
         #self.log.write('FileBrowseButton: %s\n' % evt.GetString())
 
     def checkfile(self, evt) :
         if evt.GetId() == wx.ID_OK :
             if self.dbb.GetValue() != "" :
         #self.log.write('FileBrowseButton: %s\n' % evt.GetString())
 
     def checkfile(self, evt) :
         if evt.GetId() == wx.ID_OK :
             if self.dbb.GetValue() != "" :
+                if self.methode == 'dmi' :
+                    if not os.path.exists(self.dbb.GetValue()) :
+                        dlg = wx.MessageDialog(self, 
+                        ' : '.join([self.dbb.GetValue(), _(u"this file doesn't exist")]), 'ATTENTION', wx.NO | wx.YES | wx.ICON_WARNING)
+                        dlg.CenterOnParent()
+                        if dlg.ShowModal() not in [wx.ID_NO, wx.ID_CANCEL]:
+                            self.EndModal(wx.ID_OK)
                 if os.path.exists(self.fbb.GetValue()):
                     dlg = wx.MessageDialog(self, 
                     u"%s\nCe fichier existe, continuer quand même ?" % self.fbb.GetValue(), 'ATTENTION', wx.NO | wx.YES | wx.ICON_WARNING)
                 if os.path.exists(self.fbb.GetValue()):
                     dlg = wx.MessageDialog(self, 
                     u"%s\nCe fichier existe, continuer quand même ?" % self.fbb.GetValue(), 'ATTENTION', wx.NO | wx.YES | wx.ICON_WARNING)
@@ -179,13 +195,13 @@ class ImportFactiva():
                     res = ParseEuropress(xmldir, corp_out, 'utf8', 'utf8')
                 del busy
                 if res == 'nofile' :
                     res = ParseEuropress(xmldir, corp_out, 'utf8', 'utf8')
                 del busy
                 if res == 'nofile' :
-                    dlg = wx.MessageDialog(parent, u"Pas de fichiers dans %s" % xmldir, 'ATTENTION', wx.OK | wx.NO_DEFAULT | wx.ICON_WARNING)
+                    dlg = wx.MessageDialog(parent, u"Pas de fichiers dans %s" % xmldir, 'ATTENTION', wx.OK | wx.ICON_WARNING)
                     dlg.CenterOnParent()
                     dlg.ShowModal()
                     dlg.Destroy()
                 else :
                     msg = '\n'.join([_(u"Corpus created :").decode('utf8'), corp_out, _(u"Do you want to open it in IRaMuTeQ ?").decode('utf8')])
                     dlg.CenterOnParent()
                     dlg.ShowModal()
                     dlg.Destroy()
                 else :
                     msg = '\n'.join([_(u"Corpus created :").decode('utf8'), corp_out, _(u"Do you want to open it in IRaMuTeQ ?").decode('utf8')])
-                    dlg = wx.MessageDialog(parent, msg, _(u'Information').decode('utf8'), wx.YES_NO | wx.NO_DEFAULT | wx.ICON_INFORMATION | wx.STAY_ON_TOP)
+                    dlg = wx.MessageDialog(parent, msg, _(u'Information').decode('utf8'), wx.YES_NO | wx.ICON_INFORMATION | wx.STAY_ON_TOP)
                     dlg.CenterOnParent()
                     val = dlg.ShowModal()
                     if val == wx.ID_YES :
                     dlg.CenterOnParent()
                     val = dlg.ShowModal()
                     if val == wx.ID_YES :