Rechercher  :
Recherche avancée

Auteur Fil de discussion: Import Gedcom dans Gramps  (Lu 5746 fois)
jrfloquet

Messages: 269

Arbre en ligne
Standard

« le: 21 Juillet 2009, 14:51:05 »

Bonjour

J'ai voulu importer un gedcom (plus de 50 000 personnes) provenant de Heredis  dans Gramps.

L'importation s'est arrêtée et j'ai obtenu le message "erreur inattendue ......"

J'ai également essayé avec les mêmes données que j'avais importé dans Genj, la aussi j'ai eu le même message.

J'ai importé ces mêmes données en provenance de Legacy, la aucun souçi, l'importation s'est bien passée.

Avez vous déjà rendontré ce type de probléme ?

Bien cordialement

JR

romjerome

Messages: 1012


« Répondre #1 le: 21 Juillet 2009, 20:59:07 »

Bonjour,

Répondre en citant
L'importation s'est arrêtée et j'ai obtenu le message "erreur inattendue ......"

Gramps-3.1.2 ?

Il y a une différence de gestion des grandes bases de données selon les séries (2.2.x ou 3.x) !!!

En effet, dans la série 2.2.x (2.2.6-> 2.2.10), une base de 124 032 personnes sera importée en 15/25 min (la création de la base), puis ouverte en une quinzaine de secondes   Sourire
Dans les dernières versions (3.0.x -> 3.1.x), l'importation dure plus d'une heure ...  Triste

Dans ce cas, on peut parfois voir ce type de message :
MemoryError: (12, 'Cannot allocate memory -- Lock table is out of available locks') ?
http://www.gramps-project.org/wiki/index.php?title=Known_issues

Répondre en citant
J'ai importé ces mêmes données en provenance de Legacy, la aucun souçi, l'importation s'est bien passée.

OK, c'est donc autre chose ...

Répondre en citant
le message "erreur inattendue ......"

Aucune information supplémentaire en lançant Gramps dans une console :

Code:
$ gramps

Répondre en citant
J'ai voulu importer un gedcom (plus de 50 000 personnes) provenant de Heredis  dans Gramps.
L'importation s'est arrêtée et j'ai obtenu le message "erreur inattendue ......"

Je pense que le gedcom d'Hérédis peut nous aider ...
En effet, des tags sont sûrement rejetés :
  • ligne 1 : balise ignorée
  • ligne 4 : balise invalide
  • ligne 500: balise ignorée
  • etc ...

Quelle est la dernière ligne imprimée dans la console ?
L'erreur inattendue doit survenir quelques lignes plus loin ...

Ces données sont sans doute sensibles. Il faudrait pouvoir le reproduire sur un gedcom simplifié !

Le message doit être : "GRAMPS a rencontré une erreur inattendue"
=> GrampsLogger/_ErrorView.py:70  =  def draw_window(self)

La meilleur solution reste de fournir un exemple de gedcom générant cette erreur (il est possible de marquer un rapport de bug comme privé : seul les développeurs le veront ! ) :
http://www.gramps-project.org/bugs

Pour Hérédis :
http://www.gramps-project.org/bugs/view.php?id=1812
http://www.gramps-project.org/wiki/index.php?title=Import_from_another_program#Heredis
+ une gestion particulière du tag REPO. Hérédis ignorait l'identifiant et utilisait un nom dans la source.

Répondre en citant
J'ai également essayé avec les mêmes données que j'avais importé dans Genj, la aussi j'ai eu le même message.

un point commun entre les gedcoms de Genj et d'Hérédis !!!
Sérieusement, ce n'est pas courant d'avoir un message "erreur inattendue ......" dans Gramps.
N'y a t'il pas des lignes vides dans ces gedcoms ?

Répondre en citant
J'ai importé ces mêmes données en provenance de Legacy, la aucun souçi, l'importation s'est bien passée.

Petite question, combien de minutes a duré le processus d'importation pour 50 000 personnes ?


Jérôme
« Dernière édition: 21 Juillet 2009, 23:08:39 par romjerome »
jrfloquet

Messages: 269

Arbre en ligne
Standard

« Répondre #2 le: 22 Juillet 2009, 02:37:19 »

Bonjour Jèrôme

Je suis sous Windows Vista avec ordi HP équipé AMD Phenom 9500, 3 Go de RAM.
Version Gramps gramps-3.1.2-1.


import du gedcom Legacy :

- import des données 08 minutes 
- ouverture de la base 1 minute 30 

Import du gedcom Heredis : 

Message  "erreur inattendue ......" à  54  % de l'import

Détail de l'erreur  :

327215: ERROR: dbloader.py: line 273: Failed to import database.
Traceback (most recent call last):
  File "C:\Program Files\gramps\DbLoader.py", line 263, in do_import
    self.uistate.pulse_progressbar)
  File "C:\Program Files\gramps\plugins\import\ImportGedcom.py", line 123, in importData
    gedparse.parse_gedcom_file(False)
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 808, in parse_gedcom_file
    self.__parse_record()
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 1135, in __parse_record
    self.__parse_indi(line)
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 1234, in __parse_indi
    self.__parse_level(state, self.indi_parse_tbl, self.__person_event)
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 1180, in __parse_level
    func(line, state)
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 1444, in __person_even
    self.event_parse_tbl, line.data)
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 4219, in __build_event_pair
    self.__parse_level(sub_state, event_map, self.__undefined)
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 1180, in __parse_level
    func(line, state)
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 2713, in __event_type
    line[3]))
TypeError: 'GedLine' object is unindexable


Import Genj

 blocage à 54% avec detail erreur :

1714569: ERROR: dbloader.py: line 273: Failed to import database.
Traceback (most recent call last):
  File "C:\Program Files\gramps\DbLoader.py", line 263, in do_import
    self.uistate.pulse_progressbar)
  File "C:\Program Files\gramps\plugins\import\ImportGedcom.py", line 123, in importData
    gedparse.parse_gedcom_file(False)
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 808, in parse_gedcom_file
    self.__parse_record()
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 1135, in __parse_record
    self.__parse_indi(line)
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 1234, in __parse_indi
    self.__parse_level(state, self.indi_parse_tbl, self.__person_event)
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 1180, in __parse_level
    func(line, state)
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 1444, in __person_even
    self.event_parse_tbl, line.data)
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 4219, in __build_event_pair
    self.__parse_level(sub_state, event_map, self.__undefined)
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 1180, in __parse_level
    func(line, state)
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 2713, in __event_type
    line[3]))
TypeError: 'GedLine' object is unindexable



Bien cordialement

JR
romjerome

Messages: 1012


« Répondre #3 le: 22 Juillet 2009, 08:37:33 »

Bonjour Jean-Raymond,

Je suis sous Windows Vista avec ordi HP équipé AMD Phenom 9500, 3 Go de RAM.
Version Gramps gramps-3.1.2-1.

OK, à moins que Vista ne prenne + de 2Go de mémoire, les grosses bases devraient être acceptées !

blocage à 54% avec detail erreur :

1714569: ERROR: dbloader.py: line 273: Failed to import database.
Traceback (most recent call last):
  File "C:\Program Files\gramps\DbLoader.py", line 263, in do_import
    self.uistate.pulse_progressbar)
  File "C:\Program Files\gramps\plugins\import\ImportGedcom.py", line 123, in importData
    gedparse.parse_gedcom_file(False)
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 808, in parse_gedcom_file
    self.__parse_record()
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 1135, in __parse_record
    self.__parse_indi(line)
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 1234, in __parse_indi
    self.__parse_level(state, self.indi_parse_tbl, self.__person_event)
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 1180, in __parse_level
    func(line, state)
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 1444, in __person_even
    self.event_parse_tbl, line.data)
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 4219, in __build_event_pair
    self.__parse_level(sub_state, event_map, self.__undefined)
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 1180, in __parse_level
    func(line, state)
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 2713, in __event_type
    line[3]))
TypeError: 'GedLine' object is unindexable

Il y a sûrement la même erreur de lecture (à la moitié du fichier) au niveau d'un sous-élément "événement" pour un individu.
Quelque chose comme :

Code:
1 EVEN
2 TYPE
3 NOTE
(ce n'est qu'un exemple ...)

import du gedcom Legacy :

- import des données 08 minutes 
- ouverture de la base 1 minute 30 

Le temps d'ouverture est un peu trop grand...
Est-ce à chaque fois ou à la première ouverture ?

Après la première ouverture, je crois que python reste en mémoire, et l'ouverture suivante est plus rapide.
Sous Ubuntu 8.04 (et/ou GNOME), il me semble que python est déjà chargé au démarrage, comme OpenOffice ou MS Office sous Windows.
Enfin, c'est une optimisation (sans doute) possible sous Windows dès lors que l'on a une grande base de données (à tester !).
Il y a d'autres astuces pour les grandes bases, mais ce n'est pas le sujet dans ce message...

Pour ce qui est de la navigation, changement de vue, enregistrement d'une donnée, c'est moins de 10s ou + ?

Répondre en citant
Aucune information supplémentaire en lançant Gramps dans une console

 Embarrassé  ... sous Windows il y a une pseudo-console : cmd.exe
Un genre de fenêtre noire style "MS-DOS" mais en moins souple !
Je ne sais pas comment se lance gramps sous Windows, mais il est possible que cette fenêtre soit présente en arrière-plan ?
Si c'est le cas, elle permet d' en savoir un peu plus, mais les détails nous en disent déjà suffisamment, Merci ! Sourire
 
Répondre en citant
En effet, des tags sont sûrement rejetés :

    * ligne 1 : balise ignorée
    * ligne 4 : balise invalide
    * ligne 500: balise ignorée
    * etc ...

Je viens de penser à quelque chose d'utile lorsque l'on importe un gedcom dans Gramps ...
À côté de la barre de progression (en bas à gauche, celle qui bloque à 54%), peut apparaître un point d'exclamation (!) . Les utilisateurs peuvent cliquer dessus pour voir la liste des balises non-reconnues par gramps ou rejetées. Les lignes référencées correspondent aux lignes du gedcom importé. Un peu comme GeneWeb avec ses logs après importation. Clin d'œil

En général, il s'agit de balises propres au logiciel générant le gedcom. Au fil du temps, gramps a mis en place quelques équivalences ...mais ne peut pas tout deviner. Les crash comme celui-ci sont rares, mais très souvent liés à un problème de structure du gedcom ou tout simplement un niveau de balise valide ou pas, mais très confidentielle.

Ici, Genj et Hérédis utilisent une suite de balises/tags que Legacy ignore, mais qui empêche Gramps d'importer leurs gedcoms.

Pour trouver cette suite, on peut essayer de "casser" l'un des gedcoms (Hérédis ou Genj) pour le réduire et générer un "gedcom de test" (on ne cherche pas à conserver les données et relations).

Par exemple, si le gedcom a 100 000 lignes :

1. Tout d'abord, garder l'en-tête :

Code:
0 HEAD
1 SOUR GRAMPS
2 VERS @VERSIONSTRING@
2 NAME GRAMPS

2. Copier les données dans les balises 0 présentent entre la ligne 50 000 et la ligne 60 000 (un exemple):

Code:
0 @I0001@ INDI ou FAM
1 ...
2 ...
1 ...
2 ...
3 ...

3. puis ajouter la balise "fin de gedcom" :
Code:
0 TRLR

4. Enfin, enregistrer ce fichier sous un nom distinctif, puis l'importer dans une nouvelle base de données.

Ce gedcom sera plus petit et devrait contenir la suite posant problème. Par ailleurs, il sera plus facile de limiter les informations privées dans un plus petit gedcom !



Cordialement,

Jérôme
« Dernière édition: 27 Juillet 2009, 08:46:29 par romjerome »
romjerome

Messages: 1012


« Répondre #4 le: 22 Juillet 2009, 09:56:11 »


Je suis sous Windows Vista avec ordi HP équipé AMD Phenom 9500, 3 Go de RAM.
Version Gramps gramps-3.1.2-1.

import du gedcom Legacy :

- import des données 08 minutes 
- ouverture de la base 1 minute 30 


Je ne sais pas si c'est la quantité de RAM, Windows, le format gedcom ou la limitation par défaut de BSDB qui n'est pas atteinte, mais dans votre cas, les temps semblent identiques aux versions antérieures (c'est plutôt une bonne nouvelle pour vous).

N'ayant que peu de retour/test sous Windows, il serait intéressant d'ajouter les résultats de ce test d'importation ! http://gramps-project.org/wiki/index.php?title=GRAMPS_Performance

Mais pour cela vous serait-il possible d'afficher la sortie du rapport "Résumé de la base de données" :
http://gramps-project.org/wiki/index.php?title=Gramps_3.1_Wiki_Manual_-_Reports/fr#R.C3.A9sum.C3.A9_de_la_base_de_donn.C3.A9es
Merci !


Cordialement,

Jérôme
ptexier

Messages: 2035

Arbre en ligne
Geneweb

« Répondre #5 le: 22 Juillet 2009, 10:14:13 »

En général, il s'agit de balises propres au logiciel générant le gedcom. Au fil du temps, gramps a mis en place quelques équivalences ...mais ne peut pas tout deviner. Les crash comme celui-ci sont rares, mais très souvent liés à un problème de structure du gedcom ou tout simplement un niveau de balise valide ou pas, mais très confidentielle.

Il ne devrait pas planter comme cela quelque soit le gedcom.

Répondre en citant
Ici, Genj et Hérédis utilisent une suite de balises/tags que Legacy ignore, mais qui empêche Gramps d'importer leurs gedcoms.

GenJ modifie peu le GedCom, si c'est une version Arvernes récente, il y a quelques corrections
pour Hérédis comme les REPO.

Patrick Texier, serial pilleur

http://patrick.texier.free.fr
Base saisie avec un vrai logiciel : LifeLines (libre)
Autres choix : Ancestris, GeneWeb...
romjerome

Messages: 1012


« Répondre #6 le: 22 Juillet 2009, 12:23:15 »

Il ne devrait pas planter comme cela quelque soit le gedcom.

c'est au niveau du level (0 INDI 1 EVEN 2 ... 3 ... 4 ..)
Si gramps n'est pas capable de rejeter une balise, c'est une erreur à l'importation : le programme ne sait pas où mettre cette donnée !

Le plus dur reste à faire, trouver ce qui coince avec gramps.
En fait, il me semble que ce plantage est "plus ou moins" voulu !!!
Je m'explique, sans ce type de gedcom, on n'aurait peut être jamais su qu'il y avait une erreur.

Après, cacher/sauter cette erreur doit être possible et ainsi passer le reste des données "en silence", mais est ce vraiment bénéfique à long terme ?
Je suis d'accord, la fenêtre de "plantage" peut faire peur, mais chaque programme a son fonctionnement pour corriger les problèmes... Avec un exemple de gedcom + la fenêtre d'info, le problème peut être corrigé très rapidement  Clin d'œil
 

Jérôme
ptexier

Messages: 2035

Arbre en ligne
Geneweb

« Répondre #7 le: 22 Juillet 2009, 18:30:41 »

Il ne devrait pas planter comme cela quelque soit le gedcom.

c'est au niveau du level (0 INDI 1 EVEN 2 ... 3 ... 4 ..)
Si gramps n'est pas capable de rejeter une balise, c'est une erreur à l'importation : le programme ne sait pas où mettre cette donnée !

Le plus dur reste à faire, trouver ce qui coince avec gramps.

C'est un erreur qui est mal gérée : le message devrait être trivial : "Impossible de comprendre la ligne N°"

Patrick Texier, serial pilleur

http://patrick.texier.free.fr
Base saisie avec un vrai logiciel : LifeLines (libre)
Autres choix : Ancestris, GeneWeb...
romjerome

Messages: 1012


« Répondre #8 le: 22 Juillet 2009, 19:31:19 »

C'est un erreur qui est mal gérée : le message devrait être trivial : "Impossible de comprendre la ligne N°"

OK, on peut essayer une impression de la balise ou de la ligne sur le fichier C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py !!!

1. Tout d'abord, faire une copie du fichier _GedcomParse.py.

Voici le code à la ligne 2713  :

Code:
    def __event_type(self, line, state):
        """
        Parses the TYPE line for an event.

        @param line: The current line in GedLine format
        @type line: GedLine
        @param state: The current state
        @type state: CurrentState
        """
        if state.event.get_type().is_custom():
            if line.data in GED_2_GRAMPS:
                name = gen.lib.EventType(GED_2_GRAMPS[line.data])
            else:
                val = self.gedsource.tag2gramps(line.data)
                if val:
                    name = gen.lib.EventType((gen.lib.EventType.CUSTOM, val))
                else:
                    try:
                        name = gen.lib.EventType((gen.lib.EventType.CUSTOM,
                                                 line[3]))
                    except AttributeError:
                        name = gen.lib.EventType(gen.lib.EventType.UNKNOWN)
            state.event.set_type(name)
        else:
            try:
                if line.data not in GED_2_GRAMPS and \
                       line.data not in GED_2_FAMILY and \
                       line.data[0] != 'Y':
                    state.event.set_description(line.data)
            except IndexError:
                return

2. Inclure "print line" :

Code:
   
    def __event_type(self, line, state):
        """
        Parses the TYPE line for an event.

        @param line: The current line in GedLine format
        @type line: GedLine
        @param state: The current state
        @type state: CurrentState
        """
(8 espaces puis)print line
              if state.event.get_type().is_custom():

l'erreur sera toujours présente, mais dès que "__event_type" sera appelé, on devrait avoir une ligne avec des informations !

Le parser de gedcom n'est pas facile d'accès. Le plus simple pour ce type d'erreur, c'est de poster un rapport de bogue ...
Même si certains développeurs ne parlent pas français, ils sont sans doute plus aptes que moi avec ce format !
http://www.gramps-project.org/bugs/view.php?id=3056


Cordialement,

Jérôme
« Dernière édition: 24 Juillet 2009, 09:56:17 par romjerome »
jrfloquet

Messages: 269

Arbre en ligne
Standard

« Répondre #9 le: 22 Juillet 2009, 23:37:18 »

Merci de vos nombreuses réponses, mais je ne pratique pas l'anglais.
Ne connaissant pas la norme Gedcom et n'aillant jamais travailler sur un tel fichier je laisse le soins aux spécialiste de traiter le probléme et peu éventuellement adresser mon gedcom sans les informations confidentielles pour le traitement des données.

Par contre je me suis amusé à exporter des gedcom avec heredis en cochant  les unes aprés les autres les exports médias, notes,événements mineurs, sources, témoins et liens, adresses.

Le seul Gedcom qui bloque est celui qui contient les événements mineurs.

Pour heredis les événements mineurs sont :
- Événements mineurs : exporte tous les événements saisis pour chacun des individus traités. Si cette option n’est pas cochée, l’export ne comporte que les événements dits “principaux” : Naissance/Baptême, Mariage, Décès/inhumation

Par contre de nombreuses lignes ne sont pas reconnues et sont donc ignorées. Mais ces lignes ne bloquent pas l'importation.

Bien cordialement

JR
« Dernière édition: 23 Juillet 2009, 01:01:26 par jrfloquet »
romjerome

Messages: 1012


« Répondre #10 le: 23 Juillet 2009, 07:50:58 »

Bonjour Jean-Raymond,

Le seul Gedcom qui bloque est celui qui contient les événements mineurs.

Pour heredis les événements mineurs sont :
- Événements mineurs : exporte tous les événements saisis pour chacun des individus traités. Si cette option n’est pas cochée, l’export ne comporte que les événements dits “principaux” : Naissance/Baptême, Mariage, Décès/inhumation

Est il possible de saisir un type d'événement non présent dans la liste des événements sous Genj et Hérédis ?
Ou l'équivalent d'un champ "attribut" ou "fait" ?

Par ailleurs, peut être pourriez-vous importer ce gedcom dans Hérédis :
http://gramps.svn.sourceforge.net/viewvc/gramps/branches/maintenance/gramps31/example/gedcom/sample.ged
Exporter les événements mineurs et le tester en l'important dans Gramps.
Si Gramps bloque, vous pouvez m'envoyer ce gedcom, je ferai le relais avec les développeurs.
Vous aurez une correction du module avant la sortie de la version 3.1.3.
L'adresse de messagerie est valide.

Il est également possible de créer un gedcom à partir d'un exemple de fichier gramps:
http://gramps.svn.sourceforge.net/viewvc/gramps/branches/maintenance/gramps31/example/gramps/example.gramps
puis de l'importer dans Hérédis ou Genj.

Par contre de nombreuses lignes ne sont pas reconnues et sont donc ignorées. Mais ces lignes ne bloquent pas l'importation.

En général, c'est souvent la même balise qui se répète pour de nombreux individus et autres objets.
Si les développeurs estiment qu'il s'agit d'une interprétation très libre (la majorité des rejets...) de gedcom 5.5 et qu'il n'est pas possible de trouver une équivalence raisonnable, alors cette ligne sera ignorée !
Et dans ce cas là, on voit une ligne du type "Impossible de comprendre la ligne N°".
Ici, Gramps a essayé (structure du gedcom sans doute correcte), mais n'était pas capable de l'interpréter...

Comme c'est souvent les mêmes programmes, certains ont commencé une liste sur le wiki avec d'autres références (en anglais) :
http://www.gramps-project.org/wiki/index.php?title=Import_from_another_program

Cette fenêtre était toujours disponible après une importation de gedcom (si une ligne est ignorée !). Faut il créer une note à chaque fois et pour chaque ligne non-reconnue ? Il me semble que pour Gramps, c'est au cas par cas !


Cordialement,
Jérôme
« Dernière édition: 08 Août 2009, 08:20:33 par romjerome »
jrfloquet

Messages: 269

Arbre en ligne
Standard

« Répondre #11 le: 23 Juillet 2009, 08:19:36 »

Bonjour Jérôme

Est il possible de saisir un type d'événement non présent dans la liste des événements sous Genj et Hérédis ?
Ou l'équivalent d'un champ "attribut" ou "fait" ?

Je ne sais pas

Par ailleurs, peut être pourriez-vous importer ce gedcom dans Hérédis :
http://gramps.svn.sourceforge.net/viewvc/gramps/branches/gramps31/example/gedcom/sample.ged
Exporter les événements mineurs et le tester en l'important dans Gramps.

C'est fait et tout est OK


Il est également possible de créer un gedcom à partir d'un exemple de fichier gramps:
http://gramps.svn.sourceforge.net/viewvc/gramps/branches/gramps31/example/gramps/example.gramps
puis de l'importer dans Hérédis ou Genj.

Vais essayer ce soir

Bien cordialement

JR
ptexier

Messages: 2035

Arbre en ligne
Geneweb

« Répondre #12 le: 23 Juillet 2009, 09:39:36 »


Est il possible de saisir un type d'événement non présent dans la liste des événements sous Genj et Hérédis ?
Ou l'équivalent d'un champ "attribut" ou "fait" ?


Il n'est pas possible de saisir un tag gedcom qui n'est pas dans la norme 5.5 dans
GenJ sauf à le précéder d'un _.

Concernant Hérédis, les possibilités sont très limitées :

- les autres évenements : c'est exporté en 1 EVEN 2 TYPE ... même quand l'événement
existe en Gedcom (OCCU, TITL)....

- les champs utilisateurs : l'utilisateur peut en définir une dizaine et il ne peut rentrer
qu'une valeur. L'export Gedcom tient du gag : l'utilisateur choisit le tag à prendre en compte
et la liste disponible est celle de tags standards mais qui se retrouvent totalement
hors contexte.

Patrick Texier, serial pilleur

http://patrick.texier.free.fr
Base saisie avec un vrai logiciel : LifeLines (libre)
Autres choix : Ancestris, GeneWeb...
ptexier

Messages: 2035

Arbre en ligne
Geneweb

« Répondre #13 le: 23 Juillet 2009, 10:13:57 »

Par ailleurs, peut être pourriez-vous importer ce gedcom dans Hérédis :
http://gramps.svn.sourceforge.net/viewvc/gramps/branches/gramps31/example/gedcom/sample.ged


Je comprendrais qu'un programme refuse cet exemple peu exemplaire Sourire

Code:
2 DATE BET. 1794 - 1796

Même Hérédis n'oserait pas et se limite au calendrier républicain exotique.
Code:
1 DEAT
2 DATE deceased

Les bras m'en tombent : une date libre se met entre parenthèses et ici c'est
le fameux 1 DEAT Y

Code:
1 ADOP Y
Tiens, Gramps saurait pourtant le gérer. Ici c'est valide, mais ce qui est intéressant à
tester c'est toute la structure sous ADOP avec le lien vers le couple.

Code:
0 @IC3a2b1@ INDI
....
1 None THIS_IS_A_UID
1 None GXXX-XX
1 None MY-RFN

Le tag None n'est pas dans la norme gedcom.

La norme Gedcom n'est pas claire, mais il n'est pas illogique que certains
programmes comme LifeLines se servent de REFN comme clé utilisateur
et demandent son unicité comme les clés @@. Il y a même deux REFN 3 pour
les personnes et cela ne sert à rien de mettre la partie numérique de la clé @@
dedans..

Patrick Texier, serial pilleur

http://patrick.texier.free.fr
Base saisie avec un vrai logiciel : LifeLines (libre)
Autres choix : Ancestris, GeneWeb...
jrfloquet

Messages: 269

Arbre en ligne
Standard

« Répondre #14 le: 23 Juillet 2009, 10:39:16 »

Je viens de refaire quelques test avec gedcom heredis

J'ai exporté mon ascendance et descendance   complete avec 02 degrés de collatéraux.
 Importatation dans gramps OK

Même export avec collatéraux à 10 degrés.
La message et blocage de l'import dan gramps

J'ai obtenu

45909: WARNING: _gedcomparse.py: line 1080: La ligne 148309 n'a pas été reconnue, elle sera donc ignorée.
446190: WARNING: _gedcomparse.py: line 1080: La ligne 148881 n'a pas été reconnue, elle sera donc ignorée.
446190: WARNING: _gedcomparse.py: line 1080: La ligne 148885 n'a pas été reconnue, elle sera donc ignorée.
446207: WARNING: _gedcomparse.py: line 1080: La ligne 148896 n'a pas été reconnue, elle sera donc ignorée.
446207: WARNING: _gedcomparse.py: line 1080: La ligne 148900 n'a pas été reconnue, elle sera donc ignorée.
446207: WARNING: _gedcomparse.py: line 1080: La ligne 148911 n'a pas été reconnue, elle sera donc ignorée.
446221: WARNING: _gedcomparse.py: line 1080: La ligne 148915 n'a pas été reconnue, elle sera donc ignorée.
446269: WARNING: _gedcomparse.py: line 1080: La ligne 149025 n'a pas été reconnue, elle sera donc ignorée.
446549: WARNING: _gedcomparse.py: line 1080: La ligne 149602 n'a pas été reconnue, elle sera donc ignorée.
446783: WARNING: _gedcomparse.py: line 1080: La ligne 150143 n'a pas été reconnue, elle sera donc ignorée.
447391: WARNING: _gedcomparse.py: line 1080: La ligne 151663 n'a pas été reconnue, elle sera donc ignorée.
447501: WARNING: _gedcomparse.py: line 1080: La ligne 151909 n'a pas été reconnue, elle sera donc ignorée.
447516: WARNING: _gedcomparse.py: line 1080: La ligne 151974 n'a pas été reconnue, elle sera donc ignorée.
447579: WARNING: _gedcomparse.py: line 1080: La ligne 152137 n'a pas été reconnue, elle sera donc ignorée.
447595: WARNING: _gedcomparse.py: line 1080: La ligne 152141 n'a pas été reconnue, elle sera donc ignorée.
447595: WARNING: _gedcomparse.py: line 1080: La ligne 152151 n'a pas été reconnue, elle sera donc ignorée.
447595: WARNING: _gedcomparse.py: line 1080: La ligne 152155 n'a pas été reconnue, elle sera donc ignorée.
447611: WARNING: _gedcomparse.py: line 1080: La ligne 152159 n'a pas été reconnue, elle sera donc ignorée.
447611: WARNING: _gedcomparse.py: line 1080: La ligne 152175 n'a pas été reconnue, elle sera donc ignorée.447611: ERROR: dbloader.py: line 273: Failed to import database.
Traceback (most recent call last):
  File "C:\Program Files\gramps\DbLoader.py", line 263, in do_import
    self.uistate.pulse_progressbar)
  File "C:\Program Files\gramps\plugins\import\ImportGedcom.py", line 123, in importData
    gedparse.parse_gedcom_file(False)
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 808, in parse_gedcom_file
    self.__parse_record()
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 1135, in __parse_record
    ien cordialementself.__parse_indi(line)
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 1234, in __parse_indi
    self.__parse_level(state, self.indi_parse_tbl, self.__person_event)
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 1180, in __parse_level
    func(line, state)
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 1444, in __person_even
    self.event_parse_tbl, line.data)
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 4219, in __build_event_pair
    self.__parse_level(sub_state, event_map, self.__undefined)
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 1180, in __parse_level
    func(line, state)
  File "C:\Program Files\gramps\GrampsDbUtils\_GedcomParse.py", line 2713, in __event_type
    line[3]))
TypeError: 'GedLine' object is unindexable


cordialement
« Dernière édition: 23 Juillet 2009, 10:42:19 par jrfloquet »
Aller à :  
 


Powered by SMF 1.1.8 | SMF © 2006-2009, Simple Machines LLC