...
authorPierre Ratinaud <ratinaud@univ-tlse2.fr>
Thu, 11 Dec 2014 22:03:47 +0000 (23:03 +0100)
committerPierre Ratinaud <ratinaud@univ-tlse2.fr>
Thu, 11 Dec 2014 22:03:47 +0000 (23:03 +0100)
guifunct.py
import_txm.py
iramuteq.py
iramuteq_fr_FR.po
parse_europress.py
parse_factiva_xml.py
tree.py

index 44d239c..eb000df 100644 (file)
@@ -41,7 +41,7 @@ def OnOpen(self, type):
             elif type == "Texte":
                 return False, [False]
             elif type == "Analyse":
             elif type == "Texte":
                 return False, [False]
             elif type == "Analyse":
-                return [False]
+                return False
 
 def getfileextension(file) :
     return os.path.splitext(file)[1]
 
 def getfileextension(file) :
     return os.path.splitext(file)[1]
index 675a9c9..0dfd1eb 100644 (file)
@@ -9,12 +9,6 @@ import os
 import xml.sax
 import glob
 
 import xml.sax
 import glob
 
-
-
-#infiledir = '/home/pierre/TXM/corpus/voeux-bin/txm/VOEUX/'
-#fileout = 'VOEUXExportfromTXM.txt'
-
-
 class TXMParser(xml.sax.ContentHandler) :
     def __init__(self, fileout, encodage_out) :
         self.fileout = fileout
 class TXMParser(xml.sax.ContentHandler) :
     def __init__(self, fileout, encodage_out) :
         self.fileout = fileout
@@ -63,17 +57,14 @@ class TXMParser(xml.sax.ContentHandler) :
             self.fileout.write(sent.encode(self.encodage_out))
         self.sent = []
 
             self.fileout.write(sent.encode(self.encodage_out))
         self.sent = []
 
-
-
-class TXM2IRA :
-    def __init__(self, pathin, fileout, encodage_in, encodage_out) :
+def TXM2IRA(pathin, fileout, encodage_in, encodage_out) :
         parser = xml.sax.make_parser()
         files = glob.glob(os.path.join(pathin,'*.xml'))
         parser = xml.sax.make_parser()
         files = glob.glob(os.path.join(pathin,'*.xml'))
+        if len(files) == 0 :
+            return 'nofile'
         with open(fileout, 'w') as fout :
             parser.setContentHandler(TXMParser(fout, encodage_out))
             for f in files :
                 parser.parse(open(f, 'r'))
                 fout.write('\n\n')
         with open(fileout, 'w') as fout :
             parser.setContentHandler(TXMParser(fout, encodage_out))
             for f in files :
                 parser.parse(open(f, 'r'))
                 fout.write('\n\n')
-        print 'done'
-
-#TXM2IRA(infiledir, fileout)
+        return None
\ No newline at end of file
index ea92ad5..157c0d6 100644 (file)
@@ -182,6 +182,8 @@ images_analyses = {
         'simimatrix' : 'simimatrix.png',
         'simiclustermatrix' : 'simimatrix.png',
         'proto' : 'proto.png',
         'simimatrix' : 'simimatrix.png',
         'simiclustermatrix' : 'simimatrix.png',
         'proto' : 'proto.png',
+        'TXM' : 'TXM.png',
+        'europress' : 'europress.png',
          }
 #####################################################################
 
          }
 #####################################################################
 
@@ -254,11 +256,11 @@ class IraFrame(wx.Frame):
         file_menu.AppendMenu(-1, _(u"Import from factiva").decode('utf8'), menuFactiva)
 
         item = wx.MenuItem(file_menu, ID_ImportTXM, _(u"Import from TXM").decode('utf8'), _(u"Import from TXM").decode('utf8'))
         file_menu.AppendMenu(-1, _(u"Import from factiva").decode('utf8'), menuFactiva)
 
         item = wx.MenuItem(file_menu, ID_ImportTXM, _(u"Import from TXM").decode('utf8'), _(u"Import from TXM").decode('utf8'))
-        item.SetBitmap(wx.ArtProvider_GetBitmap(wx.ART_FILE_OPEN))
+        item.SetBitmap(self.images_analyses['TXM'])
         file_menu.AppendItem(item)
         
         item = wx.MenuItem(file_menu, ID_ImportEuro, _(u"Import from Europress").decode('utf8'), _(u"Import from Europress").decode('utf8'))
         file_menu.AppendItem(item)
         
         item = wx.MenuItem(file_menu, ID_ImportEuro, _(u"Import from Europress").decode('utf8'), _(u"Import from Europress").decode('utf8'))
-        item.SetBitmap(wx.ArtProvider_GetBitmap(wx.ART_FILE_OPEN))
+        item.SetBitmap(self.images_analyses['europress'])
         file_menu.AppendItem(item)        
 
         menuTools = wx.Menu()
         file_menu.AppendItem(item)        
 
         menuTools = wx.Menu()
@@ -716,8 +718,9 @@ class IraFrame(wx.Frame):
 
     def OnOpenAnalyse(self, event):
         self.AnalysePath = OnOpen(self, "Analyse")
 
     def OnOpenAnalyse(self, event):
         self.AnalysePath = OnOpen(self, "Analyse")
-        OpenAnalyse(self, self.AnalysePath[1][0], True)
-        self.ShowMenu('view')
+        if self.AnalysePath :
+            OpenAnalyse(self, self.AnalysePath[1][0], True)
+            self.ShowMenu('view')
 
     def OnOpenText(self, event):
         inputname, self.input_path = OnOpen(self, "Texte")
 
     def OnOpenText(self, event):
         inputname, self.input_path = OnOpen(self, "Texte")
index 064b0d6..b9e9fd8 100644 (file)
@@ -6,8 +6,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: iramuteq 0.6 alpha 1\n"
 "Report-Msgid-Bugs-To: \n"
 msgstr ""
 "Project-Id-Version: iramuteq 0.6 alpha 1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-12-09 00:28+0100\n"
-"PO-Revision-Date: 2014-12-02 18:17+0200\n"
+"POT-Creation-Date: 2014-12-11 13:56+0100\n"
+"PO-Revision-Date: 2014-12-11 13:56+0200\n"
 "Last-Translator: Pierre Ratinaud <ratinaud@univ-tlse2.fr>\n"
 "Language-Team: LANGUAGE <ratinaud@univ-tlse2.fr>\n"
 "Language: fr\n"
 "Last-Translator: Pierre Ratinaud <ratinaud@univ-tlse2.fr>\n"
 "Language-Team: LANGUAGE <ratinaud@univ-tlse2.fr>\n"
 "Language: fr\n"
@@ -21,7 +21,7 @@ msgstr ""
 msgid "3D graph"
 msgstr "Graphe 3D"
 
 msgid "3D graph"
 msgstr "Graphe 3D"
 
-#: iramuteq.py:294
+#: iramuteq.py:373
 msgid "About..."
 msgstr "A propos..."
 
 msgid "About..."
 msgstr "A propos..."
 
@@ -49,7 +49,7 @@ msgstr "Ajouter la taille des classes"
 msgid "All segments"
 msgstr "Tous les segments"
 
 msgid "All segments"
 msgstr "Tous les segments"
 
-#: layout.py:339 tree.py:444 tree.py:657
+#: layout.py:339 tree.py:407 tree.py:620
 msgid "Antiprofiles"
 msgstr "Antiprofils"
 
 msgid "Antiprofiles"
 msgstr "Antiprofils"
 
@@ -61,7 +61,7 @@ msgstr "Antonyme"
 msgid "Are you sure ?"
 msgstr "Êtes-vous sûr ?"
 
 msgid "Are you sure ?"
 msgstr "Êtes-vous sûr ?"
 
-#: Liste.py:163 Liste.py:180 listlex.py:198 listlex.py:233 ProfList.py:308
+#: Liste.py:163 Liste.py:180 listlex.py:197 listlex.py:232 ProfList.py:308
 #: ProfList.py:743
 msgid "Associated forms"
 msgstr "Formes associées"
 #: ProfList.py:743
 msgid "Associated forms"
 msgstr "Formes associées"
@@ -102,6 +102,10 @@ msgstr "AFC Types"
 msgid "CA forms"
 msgstr "AFC sur les formes"
 
 msgid "CA forms"
 msgstr "AFC sur les formes"
 
+#: iramuteq.py:627
+msgid "Can't find R executable"
+msgstr "Impossible de trouver l’exécutable de R."
+
 #: dialog.py:2376
 msgid "Change ..."
 msgstr "Changer ..."
 #: dialog.py:2376
 msgid "Change ..."
 msgstr "Changer ..."
@@ -110,7 +114,7 @@ msgstr "Changer ..."
 msgid "Characteristic text segments"
 msgstr "Segments de texte caractéristiques"
 
 msgid "Characteristic text segments"
 msgstr "Segments de texte caractéristiques"
 
-#: dialog.py:82 dialog.py:2313 dialog.py:2706 layout.py:1030
+#: dialog.py:82 dialog.py:2313 dialog.py:2705 layout.py:1030
 msgid "Characters set"
 msgstr "Encodage"
 
 msgid "Characters set"
 msgstr "Encodage"
 
@@ -134,7 +138,7 @@ msgstr ""
 "Vérifier l'installation\n"
 "des libraires de R"
 
 "Vérifier l'installation\n"
 "des libraires de R"
 
-#: dialog.py:1481 iramuteq.py:261
+#: dialog.py:1481 iramuteq.py:290
 msgid "Chi2"
 msgstr "Chi2"
 
 msgid "Chi2"
 msgstr "Chi2"
 
@@ -174,12 +178,12 @@ msgstr "Fermer"
 msgid "Cluster"
 msgstr "Classe"
 
 msgid "Cluster"
 msgstr "Classe"
 
-#: dialog.py:1308 iramuteq.py:266 iramuteq.py:287 layout.py:526
-#: OptionAlceste.py:29 tree.py:399
+#: dialog.py:1308 iramuteq.py:291 iramuteq.py:338 layout.py:526
+#: OptionAlceste.py:29
 msgid "Clustering"
 msgstr "Classification"
 
 msgid "Clustering"
 msgstr "Classification"
 
-#: tree.py:454 tree.py:639 tree.py:648
+#: tree.py:417 tree.py:602 tree.py:611
 msgid "Clusters statistics"
 msgstr "Statistiques des classes"
 
 msgid "Clusters statistics"
 msgstr "Statistiques des classes"
 
@@ -187,7 +191,7 @@ msgstr "Statistiques des classes"
 msgid "Color or black and white"
 msgstr "Couleur ou noir et blanc"
 
 msgid "Color or black and white"
 msgstr "Couleur ou noir et blanc"
 
-#: tree.py:452 tree.py:612
+#: tree.py:415 tree.py:575
 msgid "Colored corpus"
 msgstr "Corpus en couleur"
 
 msgid "Colored corpus"
 msgstr "Corpus en couleur"
 
@@ -199,11 +203,11 @@ msgstr "Séparateur de colonnes"
 msgid "Communities"
 msgstr "Communautés"
 
 msgid "Communities"
 msgstr "Communautés"
 
-#: tree.py:450 tree.py:479
+#: tree.py:413 tree.py:442
 msgid "Compute Tgen"
 msgstr "Calculer les TGen"
 
 msgid "Compute Tgen"
 msgstr "Calculer les TGen"
 
-#: Liste.py:164 Liste.py:191 listlex.py:199 listlex.py:294 ProfList.py:321
+#: Liste.py:164 Liste.py:191 listlex.py:198 listlex.py:293 ProfList.py:321
 #: ProfList.py:677 ProfList.py:683 ProfList.py:689
 msgid "Concordance"
 msgstr "Concordancier"
 #: ProfList.py:677 ProfList.py:683 ProfList.py:689
 msgid "Concordance"
 msgstr "Concordancier"
@@ -232,7 +236,7 @@ msgstr "Définition"
 msgid "Delete characters not in this list"
 msgstr "Éliminer les caractères en dehors de cette liste"
 
 msgid "Delete characters not in this list"
 msgstr "Éliminer les caractères en dehors de cette liste"
 
-#: tree.py:492
+#: tree.py:455
 msgid "Delete from history"
 msgstr "Supprimer de l'historique"
 
 msgid "Delete from history"
 msgstr "Supprimer de l'historique"
 
@@ -252,7 +256,7 @@ msgstr "Description du corpus"
 msgid "Dictionary"
 msgstr "Dictionnaire"
 
 msgid "Dictionary"
 msgstr "Dictionnaire"
 
-#: tree.py:626
+#: tree.py:589
 msgid "Done"
 msgstr "Fait"
 
 msgid "Done"
 msgstr "Fait"
 
@@ -272,7 +276,7 @@ msgstr "Seuil pour les arêtes"
 msgid "Edges width proportional to score"
 msgstr "Largeur des arêtes proportionnelle à l'indice"
 
 msgid "Edges width proportional to score"
 msgstr "Largeur des arêtes proportionnelle à l'indice"
 
-#: iramuteq.py:298
+#: iramuteq.py:377
 msgid "Edition"
 msgstr "Edition"
 
 msgid "Edition"
 msgstr "Edition"
 
@@ -280,23 +284,23 @@ msgstr "Edition"
 msgid "Etymology"
 msgstr "Etymologie"
 
 msgid "Etymology"
 msgstr "Etymologie"
 
-#: iramuteq.py:248
+#: iramuteq.py:277
 msgid "Exit"
 msgstr "Quitter"
 
 msgid "Exit"
 msgstr "Quitter"
 
-#: tree.py:456
+#: tree.py:419
 msgid "Export clusters"
 msgstr "Exporter les classes"
 
 msgid "Export clusters"
 msgstr "Exporter les classes"
 
-#: tree.py:451
+#: tree.py:414
 msgid "Export corpus"
 msgstr "Exporter le corpus"
 
 msgid "Export corpus"
 msgstr "Exporter le corpus"
 
-#: tree.py:472
+#: tree.py:435
 msgid "Export dictionary"
 msgstr "Exporter le dictionnaire"
 
 msgid "Export dictionary"
 msgstr "Exporter le dictionnaire"
 
-#: dialog.py:2998
+#: dialog.py:2997
 msgid "Export finished. Open in a web browser :"
 msgstr "Export terminé. Ouvrez ce lien dans un navigateur :"
 
 msgid "Export finished. Open in a web browser :"
 msgstr "Export terminé. Ouvrez ce lien dans un navigateur :"
 
@@ -308,7 +312,7 @@ msgstr "Exporter pour ..."
 msgid "Export for Tropes"
 msgstr "Exporter pour Tropes"
 
 msgid "Export for Tropes"
 msgstr "Exporter pour Tropes"
 
-#: tree.py:473
+#: tree.py:436
 msgid "Export lemma dictionary"
 msgstr "Exporter le dictionnaire des lemmes"
 
 msgid "Export lemma dictionary"
 msgstr "Exporter le dictionnaire des lemmes"
 
@@ -320,15 +324,15 @@ msgstr "Exporter..."
 msgid "Exporter for Owledge"
 msgstr "Exporter pour Owledge"
 
 msgid "Exporter for Owledge"
 msgstr "Exporter pour Owledge"
 
-#: iramuteq.py:233
+#: iramuteq.py:262
 msgid "Extract mods"
 msgstr "Extraire à partir des modalités"
 
 msgid "Extract mods"
 msgstr "Extraire à partir des modalités"
 
-#: iramuteq.py:234
+#: iramuteq.py:263
 msgid "Extract thematics"
 msgstr "Extraire à partir des thématiques"
 
 msgid "Extract thematics"
 msgstr "Extraire à partir des thématiques"
 
-#: dialog.py:2737
+#: dialog.py:2736
 msgid "Extraction type"
 msgstr "Type d'extraction"
 
 msgid "Extraction type"
 msgstr "Type d'extraction"
 
@@ -348,7 +352,7 @@ msgstr "Facteur y:"
 msgid "Factor z : "
 msgstr "Facteur z:"
 
 msgid "Factor z : "
 msgstr "Facteur z:"
 
-#: iramuteq.py:297
+#: iramuteq.py:376
 msgid "File"
 msgstr "Fichier"
 
 msgid "File"
 msgstr "Fichier"
 
@@ -388,7 +392,7 @@ msgstr "Fréquences relatives des formes"
 msgid "Freq."
 msgstr "Freq."
 
 msgid "Freq."
 msgstr "Freq."
 
-#: iramuteq.py:259
+#: iramuteq.py:288
 msgid "Frequencies"
 msgstr "Fréquences"
 
 msgid "Frequencies"
 msgstr "Fréquences"
 
@@ -412,7 +416,7 @@ msgstr "Graphe de la classe"
 msgid "Graph settings"
 msgstr "Paramètres du graphe"
 
 msgid "Graph settings"
 msgstr "Paramètres du graphe"
 
-#: dialog.py:3266 listlex.py:200 listlex.py:345
+#: dialog.py:3274 listlex.py:199 listlex.py:344
 msgid "Graphic"
 msgstr "Graphique"
 
 msgid "Graphic"
 msgstr "Graphique"
 
@@ -432,27 +436,39 @@ msgstr "Nuance de gris des textes proportionnelle à la fréquence (0 = noir, 1
 msgid "Hapax"
 msgstr "Hapax"
 
 msgid "Hapax"
 msgstr "Hapax"
 
-#: iramuteq.py:302
+#: iramuteq.py:381
 msgid "Help"
 msgstr "Aide"
 
 msgid "Help"
 msgstr "Aide"
 
-#: iramuteq.py:343
+#: iramuteq.py:441
 msgid "Historic"
 msgstr "Historique"
 
 msgid "Historic"
 msgstr "Historique"
 
-#: iramuteq.py:254
+#: iramuteq.py:283
 msgid "Home page"
 msgstr "Page d'accueil"
 
 msgid "Home page"
 msgstr "Page d'accueil"
 
-#: dialog.py:1869 dialog.py:3128
+#: iramuteq.py:629
+msgid "IRaMuTeQ does not work without R."
+msgstr "IRaMuTeQ ne peut pas fonctionner sans R."
+
+#: iramuteq.py:628
+msgid "If R is installed, report its path in Preferences."
+msgstr "Si R est installé, signalez son chemin dans les préférences."
+
+#: iramuteq.py:627
+msgid "If R is not installed, get it from http://www.r-project.org."
+msgstr "Si n'est pas installé, vous pouvez l'obtenir  à partir du site http://www.r-project.org."
+
+#: dialog.py:1869 dialog.py:3136
 msgid "Image format"
 msgstr "Format de l'image"
 
 msgid "Image format"
 msgstr "Format de l'image"
 
-#: iramuteq.py:227
+#: iramuteq.py:256
 msgid "Import from TXM"
 msgstr "Importer de TXM"
 
 msgid "Import from TXM"
 msgstr "Importer de TXM"
 
-#: iramuteq.py:225
+#: iramuteq.py:254
 msgid "Import from factiva"
 msgstr "Importer de factiva"
 
 msgid "Import from factiva"
 msgstr "Importer de factiva"
 
@@ -468,14 +484,22 @@ msgstr "Dans les segments de cette classe"
 msgid "In segments of this clustering"
 msgstr "Dans les segments de cette classification"
 
 msgid "In segments of this clustering"
 msgstr "Dans les segments de cette classification"
 
-#: dialog.py:2831
+#: dialog.py:2830
 msgid "Include empty cells (NA)"
 msgstr "Inclure les cellules vides (NA)"
 
 msgid "Include empty cells (NA)"
 msgstr "Inclure les cellules vides (NA)"
 
-#: tree.py:389
+#: tree.py:395
 msgid "Informations"
 msgstr "Informations"
 
 msgid "Informations"
 msgstr "Informations"
 
+#: iramuteq.py:653
+msgid "Installation"
+msgstr "Installation"
+
+#: iramuteq.py:653
+msgid "Installation OK"
+msgstr "Installation OK"
+
 #: dialog.py:369
 msgid "Interface language"
 msgstr "Langue de l'interface"
 #: dialog.py:369
 msgid "Interface language"
 msgstr "Langue de l'interface"
@@ -504,7 +528,7 @@ msgstr "Corpus lemmatisé"
 msgid "Lemmatization"
 msgstr "Lemmatisation"
 
 msgid "Lemmatization"
 msgstr "Lemmatisation"
 
-#: iramuteq.py:1087
+#: iramuteq.py:1218
 msgid "License GNU GPL"
 msgstr "Licence GNU GPL"
 
 msgid "License GNU GPL"
 msgstr "Licence GNU GPL"
 
@@ -516,7 +540,7 @@ msgstr "Comme ALCESTE"
 msgid "Like Lexico"
 msgstr "Comme Lexico"
 
 msgid "Like Lexico"
 msgstr "Comme Lexico"
 
-#: dialog.py:2901
+#: dialog.py:2900
 msgid "Limit frequency"
 msgstr "Fréquence limite"
 
 msgid "Limit frequency"
 msgstr "Fréquence limite"
 
@@ -524,7 +548,7 @@ msgstr "Fréquence limite"
 msgid "Limit points by cluster chi2"
 msgstr "Limiter les points par le chi2 de liaison aux classes"
 
 msgid "Limit points by cluster chi2"
 msgstr "Limiter les points par le chi2 de liaison aux classes"
 
-#: dialog.py:2921
+#: dialog.py:2920
 msgid "Limit rank"
 msgstr "Rang limite"
 
 msgid "Limit rank"
 msgstr "Rang limite"
 
@@ -532,7 +556,7 @@ msgstr "Rang limite"
 msgid "List of not plotted points : "
 msgstr "Liste des points non-représentés"
 
 msgid "List of not plotted points : "
 msgstr "Liste des points non-représentés"
 
-#: listlex.py:210 ProfList.py:322
+#: listlex.py:209 ProfList.py:322
 msgid "Make Tgen"
 msgstr "Faire un TGen"
 
 msgid "Make Tgen"
 msgstr "Faire un TGen"
 
@@ -544,11 +568,11 @@ msgstr "Faire un film"
 msgid "Make text segments"
 msgstr "Faire des segments de texte"
 
 msgid "Make text segments"
 msgstr "Faire des segments de texte"
 
-#: tree.py:169
+#: iramuteq.py:399 tree.py:175
 msgid "Matrix"
 msgstr "Matrice"
 
 msgid "Matrix"
 msgstr "Matrice"
 
-#: iramuteq.py:300
+#: iramuteq.py:379
 msgid "Matrix analysis"
 msgstr "Analyses de matrice"
 
 msgid "Matrix analysis"
 msgstr "Analyses de matrice"
 
@@ -588,7 +612,7 @@ msgstr "Moyenne de formes par segment"
 msgid "Mean of occurrences by text"
 msgstr "Moyenne d'occurrences par texte"
 
 msgid "Mean of occurrences by text"
 msgstr "Moyenne d'occurrences par texte"
 
-#: dialog.py:1739 dialog.py:2941
+#: dialog.py:1739 dialog.py:2940
 msgid "Minimum frequency"
 msgstr "Fréquence minimale"
 
 msgid "Minimum frequency"
 msgstr "Fréquence minimale"
 
@@ -612,7 +636,7 @@ msgstr "Taille minimum des segments"
 msgid "Minimum text segments frenquency in clusters (2= automatic)"
 msgstr "Nombre minimum de segments de texte par classe (2 = automatique)"
 
 msgid "Minimum text segments frenquency in clusters (2= automatic)"
 msgstr "Nombre minimum de segments de texte par classe (2 = automatique)"
 
-#: dialog.py:2728
+#: dialog.py:2727
 msgid "Modalities (one by line, with the *)"
 msgstr "Modalités (une par ligne, avec l'étoile (*))"
 
 msgid "Modalities (one by line, with the *)"
 msgstr "Modalités (une par ligne, avec l'étoile (*))"
 
@@ -620,11 +644,15 @@ msgstr "Modalités (une par ligne, avec l'étoile (*))"
 msgid "Morphology"
 msgstr "Morphologie"
 
 msgid "Morphology"
 msgstr "Morphologie"
 
-#: iramuteq.py:260
-msgid "Multiple frequencies"
+#: iramuteq.py:289
+msgid "Multiple  Frequencies"
 msgstr "Fréquences multiples"
 
 msgstr "Fréquences multiples"
 
-#: tree.py:453
+#: dialog.py:3041
+msgid "Name"
+msgstr "Nom"
+
+#: tree.py:416
 msgid "Navigator"
 msgstr "Navigateur"
 
 msgid "Navigator"
 msgstr "Navigateur"
 
@@ -632,7 +660,7 @@ msgstr "Navigateur"
 msgid "Next"
 msgstr "Suivant"
 
 msgid "Next"
 msgstr "Suivant"
 
-#: tree.py:720
+#: tree.py:683
 msgid "No TGen yet !"
 msgstr "Pas encore de TGen !"
 
 msgid "No TGen yet !"
 msgstr "Pas encore de TGen !"
 
@@ -692,35 +720,35 @@ msgstr "Nombre de segments de texte"
 msgid "Number of texts"
 msgstr "Nombre de textes"
 
 msgid "Number of texts"
 msgstr "Nombre de textes"
 
-#: dialog.py:2741
+#: dialog.py:2740
 msgid "One file by modality"
 msgstr "Un fichier par modalité"
 
 msgid "One file by modality"
 msgstr "Un fichier par modalité"
 
-#: iramuteq.py:295
+#: iramuteq.py:374
 msgid "Online help..."
 msgstr "Aide en ligne ..."
 
 msgid "Online help..."
 msgstr "Aide en ligne ..."
 
-#: dialog.py:2741
+#: dialog.py:2740
 msgid "Only one file"
 msgstr "Seulement un fichier"
 
 msgid "Only one file"
 msgstr "Seulement un fichier"
 
-#: tree.py:445 tree.py:487
+#: tree.py:408 tree.py:450
 msgid "Open ..."
 msgstr "Ouvrir ..."
 
 msgid "Open ..."
 msgstr "Ouvrir ..."
 
-#: iramuteq.py:205
+#: iramuteq.py:233 iramuteq.py:399
 msgid "Open a matrix"
 msgstr "Ouvrir une matrice"
 
 msgid "Open a matrix"
 msgstr "Ouvrir une matrice"
 
-#: iramuteq.py:209
+#: iramuteq.py:238 iramuteq.py:401
 msgid "Open a text corpus"
 msgstr "Ouvrir un corpus texte"
 
 msgid "Open a text corpus"
 msgstr "Ouvrir un corpus texte"
 
-#: iramuteq.py:213
+#: iramuteq.py:242
 msgid "Open an analysis"
 msgstr "Ouvrir une Analyse"
 
 msgid "Open an analysis"
 msgstr "Ouvrir une Analyse"
 
-#: tree.py:626
+#: tree.py:589
 msgid "Open in a web browser ?"
 msgstr "Ouvrir dans un navigateur ?"
 
 msgid "Open in a web browser ?"
 msgstr "Ouvrir dans un navigateur ?"
 
@@ -744,7 +772,7 @@ msgstr "Types"
 msgid "POS frequencies"
 msgstr "Fréquences des types"
 
 msgid "POS frequencies"
 msgstr "Fréquences des types"
 
-#: tree.py:448
+#: tree.py:411
 msgid "POS profiles"
 msgstr "Profil des types grammaticaux"
 
 msgid "POS profiles"
 msgstr "Profil des types grammaticaux"
 
@@ -772,12 +800,12 @@ msgstr "Taille de l'image"
 msgid "Play a sound at the end of analysis"
 msgstr "Jouer un son à la fin des analyses"
 
 msgid "Play a sound at the end of analysis"
 msgstr "Jouer un son à la fin des analyses"
 
-#: corpus.py:1624 iramuteq.py:581 iramuteq.py:626 layout.py:946 tree.py:739
-#: tree.py:1063
+#: corpus.py:1624 iramuteq.py:706 iramuteq.py:755 layout.py:946 tree.py:702
+#: tree.py:1026
 msgid "Please wait..."
 msgstr "Patientez ..."
 
 msgid "Please wait..."
 msgstr "Patientez ..."
 
-#: tree.py:514
+#: tree.py:477
 msgid "Please wait...Reading corpus"
 msgstr "Patientez... Lecture du corpus"
 
 msgid "Please wait...Reading corpus"
 msgstr "Patientez... Lecture du corpus"
 
@@ -785,7 +813,7 @@ msgstr "Patientez... Lecture du corpus"
 msgid "Potato mode (less precise, faster)"
 msgstr "Mode patate (moins précis, plus rapide)"
 
 msgid "Potato mode (less precise, faster)"
 msgstr "Mode patate (moins précis, plus rapide)"
 
-#: dialog.py:3085 iramuteq.py:251
+#: dialog.py:3093 iramuteq.py:280
 msgid "Preferences"
 msgstr "Préférences"
 
 msgid "Preferences"
 msgstr "Préférences"
 
@@ -801,7 +829,7 @@ msgstr "Problème"
 msgid "Profiles"
 msgstr "Profils"
 
 msgid "Profiles"
 msgstr "Profils"
 
-#: iramuteq.py:269
+#: iramuteq.py:294
 msgid "Prototypical Analysis"
 msgstr "Analyses Prototypiques"
 
 msgid "Prototypical Analysis"
 msgstr "Analyses Prototypiques"
 
@@ -825,7 +853,7 @@ msgstr "Chemin de R"
 msgid "Ranking score"
 msgstr "Indice de rang"
 
 msgid "Ranking score"
 msgstr "Indice de rang"
 
-#: dialog.py:2878
+#: dialog.py:2877
 msgid "Ranks"
 msgstr "Rangs"
 
 msgid "Ranks"
 msgstr "Rangs"
 
@@ -833,15 +861,15 @@ msgstr "Rangs"
 msgid "Reading profiles"
 msgstr "Lecture des profils"
 
 msgid "Reading profiles"
 msgstr "Lecture des profils"
 
-#: iramuteq.py:308
+#: iramuteq.py:387
 msgid "Ready"
 msgstr "Prêt"
 
 msgid "Ready"
 msgstr "Prêt"
 
-#: iramuteq.py:264 iramuteq.py:285 tree.py:397
+#: iramuteq.py:292 iramuteq.py:339
 msgid "Reinert's Method"
 msgstr "Méthode Reinert"
 
 msgid "Reinert's Method"
 msgstr "Méthode Reinert"
 
-#: tree.py:390
+#: tree.py:396
 msgid "Rename"
 msgstr "Renommer"
 
 msgid "Rename"
 msgstr "Renommer"
 
@@ -849,7 +877,7 @@ msgstr "Renommer"
 msgid "Repeated segments"
 msgstr "Segments répétés"
 
 msgid "Repeated segments"
 msgstr "Segments répétés"
 
-#: dialog.py:1243 layout.py:519 tree.py:447
+#: dialog.py:1243 layout.py:519 tree.py:410
 msgid "Repeated segments profiles"
 msgstr "Profils des segments répétés"
 
 msgid "Repeated segments profiles"
 msgstr "Profils des segments répétés"
 
@@ -861,7 +889,7 @@ msgstr "Remplacer les apostrophes par des espaces"
 msgid "Replace dash by space"
 msgstr "Remplacer les tirets par des espaces"
 
 msgid "Replace dash by space"
 msgstr "Remplacer les tirets par des espaces"
 
-#: tree.py:455 tree.py:486 tree.py:666 tree.py:676
+#: tree.py:418 tree.py:449 tree.py:629 tree.py:639
 msgid "Report"
 msgstr "Rapport"
 
 msgid "Report"
 msgstr "Rapport"
 
@@ -877,8 +905,7 @@ msgstr "Résultats"
 msgid "Save as ..."
 msgstr "Enregistrer sous ..."
 
 msgid "Save as ..."
 msgstr "Enregistrer sous ..."
 
-#: dialog.py:3222
-#, fuzzy
+#: dialog.py:3230
 msgid "Save as..."
 msgstr "Enregistrer sous ..."
 
 msgid "Save as..."
 msgstr "Enregistrer sous ..."
 
@@ -890,7 +917,7 @@ msgstr "Indice"
 msgid "Score on edges"
 msgstr "Indices sur les arêtes"
 
 msgid "Score on edges"
 msgstr "Indices sur les arêtes"
 
-#: tree.py:635
+#: tree.py:598
 msgid "Search ..."
 msgstr "Rechercher ..."
 
 msgid "Search ..."
 msgstr "Rechercher ..."
 
@@ -910,7 +937,7 @@ msgstr "Sélectionnez un répertoire contenant les fichiers txt"
 msgid "Select a directory of xml files"
 msgstr "Sélectionnez un répertoire contenant les fichiers xml"
 
 msgid "Select a directory of xml files"
 msgstr "Sélectionnez un répertoire contenant les fichiers xml"
 
-#: dialog.py:2352 dialog.py:2701
+#: dialog.py:2352 dialog.py:2700
 msgid "Select a file"
 msgstr "Sélectionnez un fichier"
 
 msgid "Select a file"
 msgstr "Sélectionnez un fichier"
 
@@ -926,26 +953,30 @@ msgstr "Sélection par"
 msgid "Select columns"
 msgstr "Sélectionnez les colonnes"
 
 msgid "Select columns"
 msgstr "Sélectionnez les colonnes"
 
+#: dialog.py:3048
+msgid "Select one or more metadata"
+msgstr "Sélectionnez une ou plusieurs méta-données"
+
 #: dialog.py:330 dialog.py:469 dialog.py:970 dialog.py:1041 dialog.py:2149
 #: dialog.py:330 dialog.py:469 dialog.py:970 dialog.py:1041 dialog.py:2149
-#: dialog.py:2279 dialog.py:2864 guifunct.py:161 OptionAlceste.py:63
+#: dialog.py:2279 dialog.py:2863 guifunct.py:161 OptionAlceste.py:63
 msgid "Settings"
 msgstr "Paramètres"
 
 msgid "Settings"
 msgstr "Paramètres"
 
-#: iramuteq.py:255
+#: iramuteq.py:284
 msgid "Show data"
 msgstr "Voir les données"
 
 msgid "Show data"
 msgstr "Voir les données"
 
-#: iramuteq.py:256
+#: iramuteq.py:285
 msgid "Show results"
 msgstr "Voir les résultats"
 
 msgid "Show results"
 msgstr "Voir les résultats"
 
-#: iramuteq.py:268 iramuteq.py:288 tree.py:400
+#: iramuteq.py:293 iramuteq.py:340
 msgid "Similarities Analysis"
 msgstr "Analyses de similitudes"
 
 msgid "Similarities Analysis"
 msgstr "Analyses de similitudes"
 
-#: dialog.py:3093
+#: dialog.py:3101
 msgid "Size"
 msgid "Size"
-msgstr ""
+msgstr "Taille"
 
 #: OptionAlceste.py:31
 msgid "Size of rst1"
 
 #: OptionAlceste.py:31
 msgid "Size of rst1"
@@ -963,7 +994,7 @@ msgstr "Taille de rst2"
 msgid "Specificities"
 msgstr "Spécificités"
 
 msgid "Specificities"
 msgstr "Spécificités"
 
-#: iramuteq.py:282 tree.py:395
+#: iramuteq.py:337
 msgid "Specificities and CA"
 msgstr "Spécificités et AFC"
 
 msgid "Specificities and CA"
 msgstr "Spécificités et AFC"
 
@@ -971,38 +1002,38 @@ msgstr "Spécificités et AFC"
 msgid "Spheres transparency"
 msgstr "Transparence des sphéres"
 
 msgid "Spheres transparency"
 msgstr "Transparence des sphéres"
 
-#: iramuteq.py:232 tree.py:428
+#: iramuteq.py:261 iramuteq.py:295
 msgid "Split from variable"
 msgstr "Sous corpus par variable"
 
 msgid "Split from variable"
 msgstr "Sous corpus par variable"
 
-#: tree.py:429
-msgid "Split matrix"
-msgstr "Extraire de la matrice..."
-
 #: layout.py:551
 msgid "Stat by cluster"
 msgstr "Stat par classe"
 
 #: layout.py:551
 msgid "Stat by cluster"
 msgstr "Stat par classe"
 
-#: iramuteq.py:281 tree.py:394
+#: iramuteq.py:336
 msgid "Statistics"
 msgstr "Statistiques"
 
 msgid "Statistics"
 msgstr "Statistiques"
 
-#: tree.py:405
+#: iramuteq.py:342
 msgid "Sub corpus"
 msgstr "Sous-corpus"
 
 msgid "Sub corpus"
 msgstr "Sous-corpus"
 
-#: tree.py:457
+#: tree.py:420
 msgid "Sub corpus from clusters"
 msgstr "Sous-corpus par classe"
 
 msgid "Sub corpus from clusters"
 msgstr "Sous-corpus par classe"
 
-#: tree.py:403
+#: iramuteq.py:343
 msgid "Sub corpus from metadata"
 msgstr "Sous-corpus par méta-données"
 
 msgid "Sub corpus from metadata"
 msgstr "Sous-corpus par méta-données"
 
-#: tree.py:404
+#: iramuteq.py:344
 msgid "Sub corpus from thematic"
 msgstr "Sous-corpus par thématique"
 
 msgid "Sub corpus from thematic"
 msgstr "Sous-corpus par thématique"
 
+#: dialog.py:3031
+msgid "Subcorpus"
+msgstr "Sous-corpus"
+
 #: dialog.py:1340
 msgid "Supplementaries variables (almost 1)"
 msgstr "Variables supplémentaires (au moins 1)"
 #: dialog.py:1340
 msgid "Supplementaries variables (almost 1)"
 msgstr "Variables supplémentaires (au moins 1)"
@@ -1027,7 +1058,11 @@ msgstr "Prendre les x premiers points"
 msgid "Take the x first points by cluster"
 msgstr "Prendre les x premiers par classe"
 
 msgid "Take the x first points by cluster"
 msgstr "Prendre les x premiers par classe"
 
-#: iramuteq.py:301
+#: iramuteq.py:401
+msgid "Text"
+msgstr "Texte"
+
+#: iramuteq.py:380
 msgid "Text analysis"
 msgstr "Analyse de texte"
 
 msgid "Text analysis"
 msgstr "Analyse de texte"
 
@@ -1067,11 +1102,11 @@ msgstr "Taille du texte proportionnelle au chi2"
 msgid "Text size proportional to frequency"
 msgstr "Taille du texte proportionnelle à la fréquence"
 
 msgid "Text size proportional to frequency"
 msgstr "Taille du texte proportionnelle à la fréquence"
 
-#: tree.py:147
+#: tree.py:153
 msgid "Textual corpus"
 msgstr "Corpus textuel"
 
 msgid "Textual corpus"
 msgstr "Corpus textuel"
 
-#: tree.py:449 tree.py:478
+#: tree.py:412 tree.py:441
 msgid "Tgen Editor"
 msgstr "Editeur de TGen"
 
 msgid "Tgen Editor"
 msgstr "Editeur de TGen"
 
@@ -1083,7 +1118,7 @@ msgstr "Spécificités des TGens"
 msgid "This file already exists. Continue anyway ?"
 msgstr "Ce fichier existe déjà. Continuer quand même ?"
 
 msgid "This file already exists. Continue anyway ?"
 msgstr "Ce fichier existe déjà. Continuer quand même ?"
 
-#: tree.py:1074
+#: tree.py:1037
 #, python-format
 msgid "This file does not exist : %s"
 msgstr "Ce fichier n'existe pas : %s"
 #, python-format
 msgid "This file does not exist : %s"
 msgstr "Ce fichier n'existe pas : %s"
@@ -1100,7 +1135,7 @@ msgstr "Ce n'est pas une méta-donnée"
 msgid "This is not a variable_modality form"
 msgstr "Ce n'est pas une forme du type variable_modalité"
 
 msgid "This is not a variable_modality form"
 msgstr "Ce n'est pas une forme du type variable_modalité"
 
-#: iramuteq.py:241
+#: iramuteq.py:270
 msgid "Tools"
 msgstr "Outils"
 
 msgid "Tools"
 msgstr "Outils"
 
@@ -1112,7 +1147,7 @@ msgstr "Outils du CNTRL (français uniquement)"
 msgid "Total"
 msgstr "Total"
 
 msgid "Total"
 msgstr "Total"
 
-#: listlex.py:209 listlex.py:274 ProfList.py:334 ProfList.py:611
+#: listlex.py:208 listlex.py:273 ProfList.py:334 ProfList.py:611
 msgid "Typical text segments"
 msgstr "Segments de texte caractéristiques"
 
 msgid "Typical text segments"
 msgstr "Segments de texte caractéristiques"
 
@@ -1132,11 +1167,11 @@ msgstr "Utiliser le dictionnaire des expressions"
 msgid "Used forms"
 msgstr "Formes utilisées"
 
 msgid "Used forms"
 msgstr "Formes utilisées"
 
-#: dialog.py:2874
+#: dialog.py:2873
 msgid "Variables"
 msgstr "Variables"
 
 msgid "Variables"
 msgstr "Variables"
 
-#: dialog.py:2718
+#: dialog.py:2717
 msgid "Variables (with the * but without the _)"
 msgstr "Variables (avec le * mais sans le _ )"
 
 msgid "Variables (with the * but without the _)"
 msgstr "Variables (avec le * mais sans le _ )"
 
@@ -1164,11 +1199,11 @@ msgstr "Taille des sommets proportionnelle à la fréquence"
 msgid "Vertex text size proportional to frequency"
 msgstr "Taille du texte des sommets proportionnelle à la fréquence"
 
 msgid "Vertex text size proportional to frequency"
 msgstr "Taille du texte des sommets proportionnelle à la fréquence"
 
-#: iramuteq.py:299
+#: iramuteq.py:378
 msgid "View"
 msgstr "Vue"
 
 msgid "View"
 msgstr "Vue"
 
-#: iramuteq.py:309
+#: iramuteq.py:388
 msgid "Welcome"
 msgstr "Bienvenue"
 
 msgid "Welcome"
 msgstr "Bienvenue"
 
@@ -1184,7 +1219,7 @@ msgstr "Graphe du mot"
 msgid "Word size proportional to ..."
 msgstr "Taille des mots proportionnelles à ..."
 
 msgid "Word size proportional to ..."
 msgstr "Taille des mots proportionnelles à ..."
 
-#: iramuteq.py:290 tree.py:401
+#: iramuteq.py:341
 msgid "WordCloud"
 msgstr "Nuage de mots"
 
 msgid "WordCloud"
 msgstr "Nuage de mots"
 
@@ -1208,16 +1243,15 @@ msgstr "actives et supplémentaires"
 msgid "actives forms"
 msgstr "formes actives"
 
 msgid "actives forms"
 msgstr "formes actives"
 
-#: tree.py:485
+#: tree.py:448
 msgid "antiprofiles"
 msgstr "antiprofils"
 
 msgid "antiprofiles"
 msgstr "antiprofils"
 
-#: dialog.py:3097
-#, fuzzy
+#: dialog.py:3105
 msgid "automatic"
 msgid "automatic"
-msgstr "automatique (moyenne)"
+msgstr "automatique"
 
 
-#: dialog.py:2907 dialog.py:2927
+#: dialog.py:2906 dialog.py:2926
 msgid "automatic (mean)"
 msgstr "automatique (moyenne)"
 
 msgid "automatic (mean)"
 msgstr "automatique (moyenne)"
 
@@ -1265,7 +1299,7 @@ msgstr "pourcentage en colonne"
 msgid "coordinates"
 msgstr "coordonnées"
 
 msgid "coordinates"
 msgstr "coordonnées"
 
-#: dialog.py:2298 dialog.py:2697
+#: dialog.py:2298 dialog.py:2696
 msgid "corpus"
 msgstr "corpus"
 
 msgid "corpus"
 msgstr "corpus"
 
@@ -1289,15 +1323,15 @@ msgstr "forme"
 msgid "frequency"
 msgstr "fréquences"
 
 msgid "frequency"
 msgstr "fréquences"
 
-#: iramuteq.py:221
+#: iramuteq.py:250
 msgid "from copy/paste"
 msgstr "à partir de copier/coller"
 
 msgid "from copy/paste"
 msgstr "à partir de copier/coller"
 
-#: iramuteq.py:220
+#: iramuteq.py:249
 msgid "from mail"
 msgstr "à partir de mails"
 
 msgid "from mail"
 msgstr "à partir de mails"
 
-#: iramuteq.py:219
+#: iramuteq.py:248
 msgid "from xml"
 msgstr "à partir de fichiers xml"
 
 msgid "from xml"
 msgstr "à partir de fichiers xml"
 
@@ -1305,7 +1339,7 @@ msgstr "à partir de fichiers xml"
 msgid "graphical"
 msgstr "Graphique"
 
 msgid "graphical"
 msgstr "Graphique"
 
-#: dialog.py:554 dialog.py:1826 dialog.py:1979 dialog.py:3113 guifunct.py:416
+#: dialog.py:554 dialog.py:1826 dialog.py:1979 dialog.py:3121 guifunct.py:416
 msgid "height"
 msgstr "hauteur"
 
 msgid "height"
 msgstr "hauteur"
 
@@ -1321,7 +1355,7 @@ msgstr "indexation"
 msgid "line classified on"
 msgstr "lignes classées sur"
 
 msgid "line classified on"
 msgstr "lignes classées sur"
 
-#: dialog.py:2907 dialog.py:2927 dialog.py:3097
+#: dialog.py:2906 dialog.py:2926 dialog.py:3105
 msgid "manual"
 msgstr "manuelle"
 
 msgid "manual"
 msgstr "manuelle"
 
@@ -1410,7 +1444,7 @@ msgstr "méthode pour svd"
 msgid "texts classified on"
 msgstr "textes classés sur"
 
 msgid "texts classified on"
 msgstr "textes classés sur"
 
-#: dialog.py:2747
+#: dialog.py:2746
 msgid "thematics (one by line, with the -*)"
 msgstr "thématiques (une par ligne, avec l'étoile (*))"
 
 msgid "thematics (one by line, with the -*)"
 msgstr "thématiques (une par ligne, avec l'étoile (*))"
 
@@ -1426,7 +1460,7 @@ msgstr "pourcentage total"
 msgid "variables"
 msgstr "variables"
 
 msgid "variables"
 msgstr "variables"
 
-#: dialog.py:552 dialog.py:1837 dialog.py:1991 dialog.py:3106 guifunct.py:423
+#: dialog.py:552 dialog.py:1837 dialog.py:1991 dialog.py:3114 guifunct.py:423
 msgid "width"
 msgstr "largeur"
 
 msgid "width"
 msgstr "largeur"
 
@@ -1459,6 +1493,9 @@ msgstr "oui"
 #~ msgid "Similarities analysis"
 #~ msgstr "Analyses de similitudes"
 
 #~ msgid "Similarities analysis"
 #~ msgstr "Analyses de similitudes"
 
+#~ msgid "Split matrix"
+#~ msgstr "Extraire de la matrice..."
+
 #, fuzzy
 #~ msgid "Wordcloud"
 #~ msgstr "Nuage de mots"
 #, fuzzy
 #~ msgid "Wordcloud"
 #~ msgstr "Nuage de mots"
index 8097d30..5678aca 100644 (file)
@@ -73,7 +73,7 @@ class MyHTMLParser(HTMLParser):
         #print "Encountered an end tag :", tag
     def handle_data(self, data):
         if self.currentattr == 'DocPublicationName' :
         #print "Encountered an end tag :", tag
     def handle_data(self, data):
         if self.currentattr == 'DocPublicationName' :
-            PublicationName = data.replace(' ', '_').replace('(','').replace(')','').replace('.','').replace('/','').replace("'",'').lower()
+            PublicationName = data.replace(' ', '_').replace('(','').replace(')','').replace('.','').replace('/','').replace("'",'').replace(';', '').replace(':', '').replace(u'·','').lower()
             PublicationName = PublicationName.split(',')[0]
             self.meta.append(u'*source_' + PublicationName)
         elif self.currentattr == 'DocHeader' :
             PublicationName = PublicationName.split(',')[0]
             self.meta.append(u'*source_' + PublicationName)
         elif self.currentattr == 'DocHeader' :
@@ -93,13 +93,14 @@ class MyHTMLParser(HTMLParser):
         self.outfile = outfile
         
 
         self.outfile = outfile
         
 
-class ParseEuropress :
-    def __init__(self, txtdir, fileout, encodage_in, encodage_out) :
+def ParseEuropress(txtdir, fileout, encodage_in, encodage_out) :
         files = []
         for root, subfolders, subfiles in os.walk(txtdir) :
             nf = [os.path.join(root, f) for f in subfiles if f.split('.')[-1] == 'html']
             nf.sort()
             files += nf
         files = []
         for root, subfolders, subfiles in os.walk(txtdir) :
             nf = [os.path.join(root, f) for f in subfiles if f.split('.')[-1] == 'html']
             nf.sort()
             files += nf
+        if len(files) == 0 :
+            return 'nofile'
         tot = 0
         parser = MyHTMLParser()
         with open(fileout,'w') as outf : 
         tot = 0
         parser = MyHTMLParser()
         with open(fileout,'w') as outf : 
@@ -110,7 +111,7 @@ class ParseEuropress :
                     content = infile.read() 
                 parser.feed(content)
                 tot += parser.nb
                     content = infile.read() 
                 parser.feed(content)
                 tot += parser.nb
-                print 'ok', parser.nb, 'articles', ' - total : ', tot   
+        return tot
                 
 #ParseEuropress('/home/pierre/fac/lerass/mariage/press', '/home/pierre/workspace/iramuteq/dev/europress/corpus_out.txt', 'utf8', 'utf8')     
         #print "Encountered some data  :", data
                 
 #ParseEuropress('/home/pierre/fac/lerass/mariage/press', '/home/pierre/workspace/iramuteq/dev/europress/corpus_out.txt', 'utf8', 'utf8')     
         #print "Encountered some data  :", data
index 3defa0c..d43e9ae 100644 (file)
@@ -14,9 +14,9 @@ from parse_factiva_mail import ParseFactivaMail
 from parse_factiva_txt import ParseFactivaPaste
 from parse_europress import ParseEuropress
 from import_txm import TXM2IRA
 from parse_factiva_txt import ParseFactivaPaste
 from parse_europress import ParseEuropress
 from import_txm import TXM2IRA
+from functions import BugReport
 
 def ParseDocument(filename) :
 
 def ParseDocument(filename) :
-    print filename
     with codecs.open(filename, 'r', 'utf-8') as f :
         content = f.read()
     content = content.replace('<hlt>', ' ').replace('</hlt>', ' ')
     with codecs.open(filename, 'r', 'utf-8') as f :
         content = f.read()
     content = content.replace('<hlt>', ' ').replace('</hlt>', ' ')
@@ -86,6 +86,8 @@ class PrefImport(wx.Dialog):
         self.PostCreate(pre)
         if methode in ['xml', 'txm'] :
             txt = _(u'Select a directory of xml files').decode('utf8')
         self.PostCreate(pre)
         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')
         else :
             txt = _(u'Select a directory of txt files').decode('utf8')
         self.parent = parent
         else :
             txt = _(u'Select a directory of txt files').decode('utf8')
         self.parent = parent
@@ -153,8 +155,6 @@ class PrefImport(wx.Dialog):
         else :
             self.EndModal(wx.ID_CANCEL)
 
         else :
             self.EndModal(wx.ID_CANCEL)
 
-
-
 class ImportFactiva():
     def __init__(self, parent, methode):
         self.dial =  PrefImport(parent, methode=methode)
 class ImportFactiva():
     def __init__(self, parent, methode):
         self.dial =  PrefImport(parent, methode=methode)
@@ -163,20 +163,40 @@ class ImportFactiva():
         if val == wx.ID_OK :
             xmldir = self.dial.dbb.GetValue()
             corp_out = self.dial.fbb.GetValue()
         if val == wx.ID_OK :
             xmldir = self.dial.dbb.GetValue()
             corp_out = self.dial.fbb.GetValue()
-            if methode == 'xml' :
-                res = getcorpus_from_xml(xmldir, corp_out)
-            elif methode == 'mail' :
-                res = ParseFactivaMail(xmldir, corp_out, 'utf8', parent.syscoding)
-            elif methode == 'txt' :
-                res = ParseFactivaPaste(xmldir, corp_out, 'utf8', parent.syscoding)
-            elif methode == 'txm' :
-                res = TXM2IRA(xmldir, corp_out, 'utf8', parent.syscoding)
-            elif methode == 'euro' :
-                res = ParseEuropress(xmldir, corp_out, 'utf8', 'utf8')
-            if res == 'nofile' :
-                dlg = wx.MessageDialog(parent, u"Pas de fichier \'.xml\' dans %s" % xmldir, 'ATTENTION', wx.OK | wx.NO_DEFAULT | wx.ICON_WARNING)
-                dlg.CenterOnParent()
-                dlg.ShowModal()
-           #else :
-           #     parent.filename = corp_out
-           #     parent.OpenText()
+            self.dial.Destroy()
+            busy = wx.BusyInfo(_("Please wait...").decode('utf8'))
+            wx.SafeYield()
+            try :
+                if methode == 'xml' :
+                    res = getcorpus_from_xml(xmldir, corp_out)
+                elif methode == 'mail' :
+                    res = ParseFactivaMail(xmldir, corp_out, 'utf8', parent.syscoding)
+                elif methode == 'txt' :
+                    res = ParseFactivaPaste(xmldir, corp_out, 'utf8', parent.syscoding)
+                elif methode == 'txm' :
+                    res = TXM2IRA(xmldir, corp_out, 'utf8', parent.syscoding)
+                elif methode == 'euro' :
+                    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.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.CenterOnParent()
+                    val = dlg.ShowModal()
+                    if val == wx.ID_YES :
+                        dlg.Destroy()
+                        parent.filename = os.path.abspath(corp_out)
+                        parent.OpenText()
+                    else :
+                        dlg.Destroy()
+            except :
+                del busy
+                BugReport(parent)
+        else :
+            self.dial.Destroy()
+                
diff --git a/tree.py b/tree.py
index 5b4b616..f053fc1 100644 (file)
--- a/tree.py
+++ b/tree.py
@@ -392,8 +392,13 @@ class LeftTree(CT.CustomTreeCtrl):
         
         if not item in [self.textroot, self.matroot] :
             menu = wx.Menu()
         
         if not item in [self.textroot, self.matroot] :
             menu = wx.Menu()
-            info = menu.Append(wx.ID_ANY, _(u"Informations").decode('utf8'))
-            rename = menu.Append(wx.ID_ANY, _(u"Rename").decode('utf8'))
+            info = wx.MenuItem(menu, wx.ID_ANY, _(u"Informations").decode('utf8'))
+            info.SetBitmap(wx.ArtProvider_GetBitmap(wx.ART_INFORMATION))
+            menu.AppendItem(info)
+            
+            rename = wx.MenuItem(menu, wx.ID_ANY, _(u"Rename").decode('utf8'))
+            rename.SetBitmap(wx.ArtProvider_GetBitmap(wx.ART_TIP))
+            menu.AppendItem(rename)
             menu.AppendSeparator()
     
             if 'corpus_name' in pydata :
             menu.AppendSeparator()
     
             if 'corpus_name' in pydata :
@@ -451,8 +456,9 @@ class LeftTree(CT.CustomTreeCtrl):
                 self.Bind(wx.EVT_MENU, self.OpenAntipro, antipro)
                 self.Bind(wx.EVT_MENU, self.OnRapport, rapport)
     
                 self.Bind(wx.EVT_MENU, self.OpenAntipro, antipro)
                 self.Bind(wx.EVT_MENU, self.OnRapport, rapport)
     
-    
-            itemdelete = menu.Append(wx.ID_ANY, _(u"Delete from history").decode('utf8'))
+            itemdelete = wx.MenuItem(menu, wx.ID_ANY, _(u"Delete from history").decode('utf8'))
+            itemdelete.SetBitmap(wx.ArtProvider_GetBitmap(wx.ART_DELETE))
+            menu.AppendItem(itemdelete)
             #item11 = menu.Append(wx.ID_ANY, "Prepend An Item")
             #item12 = menu.Append(wx.ID_ANY, "Append An Item")
     
             #item11 = menu.Append(wx.ID_ANY, "Prepend An Item")
             #item12 = menu.Append(wx.ID_ANY, "Append An Item")