Répondre

Import Gedcom dans Gramps

jrfloquet
jrfloquet
Messages : 270
Saisie : Standard
Voir son arbre
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
male
Messages : 1408
Bonjour,

[quote]

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   :)
Dans les dernières versions (3.0.x -> 3.1.x), l'importation dure plus d'une heure ...  :(

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

[quote]

OK, c'est donc autre chose ...

[quote]

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

Code : Tout sélectionner

$ gramps
[quote]

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.

[quote]

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 ?

[quote]

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


Jérôme

jrfloquet
jrfloquet
Messages : 270
Saisie : Standard
Voir son arbre
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
male
Messages : 1408
Bonjour Jean-Raymond,
jrfloquet a écrit :
22 juillet 2009, 02:37
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 !
jrfloquet a écrit :
22 juillet 2009, 02:37
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 : Tout sélectionner

1 EVEN
2 TYPE
3 NOTE
(ce n'est qu'un exemple ...)
jrfloquet a écrit :
22 juillet 2009, 02:37
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 + ?

:-[  ... 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 ! :)
 

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. ;)

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 : Tout sélectionner

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 : Tout sélectionner

0 @I0001@ INDI ou FAM
1 ...
2 ...
1 ...
2 ...
3 ...
3. puis ajouter la balise "fin de gedcom" :

Code : Tout sélectionner

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

romjerome
male
Messages : 1408
jrfloquet a écrit :
22 juillet 2009, 02:37

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
male
Messages : 632
Saisie : Geneweb
Voir son arbre
romjerome a écrit :
22 juillet 2009, 08:37
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.

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.
, serial pilleur

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

romjerome
male
Messages : 1408
ptexier a écrit :
22 juillet 2009, 10:14
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  ;)


Jérôme

ptexier
male
Messages : 632
Saisie : Geneweb
Voir son arbre
romjerome a écrit :
22 juillet 2009, 12:23
ptexier a écrit :
22 juillet 2009, 10:14
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°"
, serial pilleur

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

romjerome
male
Messages : 1408
ptexier a écrit :
22 juillet 2009, 18:30
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 : Tout sélectionner

    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 : Tout sélectionner

    
    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

jrfloquet
jrfloquet
Messages : 270
Saisie : Standard
Voir son arbre
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

romjerome
male
Messages : 1408
Bonjour Jean-Raymond,
jrfloquet a écrit :
22 juillet 2009, 23:37
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.
jrfloquet a écrit :
22 juillet 2009, 23:37
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

jrfloquet
jrfloquet
Messages : 270
Saisie : Standard
Voir son arbre
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
male
Messages : 632
Saisie : Geneweb
Voir son arbre
romjerome a écrit :
23 juillet 2009, 07:50

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.
, serial pilleur

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

ptexier
male
Messages : 632
Saisie : Geneweb
Voir son arbre
romjerome a écrit :
23 juillet 2009, 07:50
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 :)

Code : Tout sélectionner

2 DATE BET. 1794 - 1796
Même Hérédis n'oserait pas et se limite au calendrier républicain exotique.

Code : Tout sélectionner

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 : Tout sélectionner

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 : Tout sélectionner

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..
, serial pilleur

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

jrfloquet
jrfloquet
Messages : 270
Saisie : Standard
Voir son arbre
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

Répondre

Revenir à « Gramps »