briot / geneapro

Genealogical software based on the GenTech data model
http://briot.github.com/geneapro/
GNU General Public License v2.0
33 stars 8 forks source link

GeneaProve could not import your file: None #20

Closed photis closed 9 years ago

photis commented 10 years ago

Hi, I'm trying to import a gedcom file that has been generated by Reunion on OS X. There were many tags not recognised which I removed. Finally all tags left passed and I got the following message:

"GeneaProve could not import your file. This is either because your file does not contain correct GEDCOM data, or more likely because of limitations in GeneaProve. Please Report this issue to the GeneaProve developers. If your GEDCOM data contains information you wish to keep private, you can use the script gedcom_anon.py to anonymize the data before you send it to us. None"

It is the "None" in the last line that puzzles me. Any idea where I should look to correct my input file myself, before I anonymise and send it to you? I am aware that you are not supporting Reunion, but I can live with that for now.

Thanks.

briot commented 10 years ago

"GeneaProve could not import your file. This is either because your file does not contain correct GEDCOM data, or more likely because of limitations in GeneaProve. Please Report this issue to the GeneaProve developers. If your GEDCOM data contains information you wish to keep private, you can use the script gedcom_anon.py to anonymize the data before you send it to us. None"

It is the "None" in the last line that puzzles me. Any idea where I should look to correct my input file myself, before I anonymise and send it to you? I am aware that you are not supporting Reunion, but I can live with that for now.

"None" is supposed to be the error message reported by the importer, but obviously it is not especially useful. I do not spend much time on geneaprove these days, but I am still interested in investigating this issue nonetheless. Perhaps you could try with a command line importer, and perhaps get more info as a result. That would mean typing the following in a terminal:

  ./manage.py import  yourfile.ged

Let me know whether this gives more information

regards Emmanuel

photis commented 10 years ago

Thanks Emmanuel for your reaction. I imported via de command line version and had to try several times. Apparently I had missed 1 unrecognised tag (_UID inside FAM, although the web interface never mentioned that), then a few lines that were too long, all of which I corrected in the import file; finally some other tag related errors occurred (SUBM @SUB1@ reference). I removed or corrected all offending input lines. Finally I got a concatenation error that I can't make sense of.

[oriste@web55 geneapro]$ python2.7 manage.py import Canaan.ged
Importing Canaan.ged
Canaan.ged:7248 Invalid tag _UID inside FAM
Done importing (0.693 s)
Run 'ANALYZE;' in the database to optimize it

Removed the offending line.

[oriste@web55 geneapro]$ python2.7 manage.py import Canaan.ged
Importing Canaan.ged
Canaan.ged:7882 Line is too long (260 characters)
Canaan.ged:7932 Line is too long (256 characters)
Canaan.ged:7934 Line is too long (257 characters)
Unexpected Exception u'@SUB1@'
Traceback (most recent call last):
  File "/home/oriste/webapps/canaan/geneapro/geneaprove/importers/gedcomimport.py", line 1027, in parse
    parser = GedcomImporterCumulate(parsed)
  File "/home/oriste/webapps/canaan/geneapro/geneaprove/importers/gedcomimport.py", line 993, in __init__
    super(GedcomImporterCumulate, self).__init__(*args, **kwargs)
  File "/home/oriste/webapps/canaan/lib/python2.7/django/db/transaction.py", line 224, in inner
    return func(*args, **kwargs)
  File "/home/oriste/webapps/canaan/geneapro/geneaprove/importers/gedcomimport.py", line 70, in __init__
    self._researcher = self._create_researcher()
  File "/home/oriste/webapps/canaan/geneapro/geneaprove/importers/gedcomimport.py", line 980, in _create_researcher
    return models.Researcher.objects.create(name=subm.NAME.value
  File "/home/oriste/webapps/canaan/geneapro/geneaprove/utils/gedcom.py", line 696, in __getattr__
    return self._all.__getattribute__(name)
  File "/home/oriste/webapps/canaan/geneapro/geneaprove/utils/gedcom.py", line 691, in __getattr__
    obj = self._gedcom.ids[xref]
KeyError: u'@SUB1@'
Done importing (0.792 s)
Run 'ANALYZE;' in the database to optimize it

Reformatted the lines to be shorter than 255 characters.

[oriste@web55 geneapro]$ python2.7 manage.py import Canaan.ged
Importing Canaan.ged
Unexpected Exception u'@SUB1@'
Traceback (most recent call last):
  File "/home/oriste/webapps/canaan/geneapro/geneaprove/importers/gedcomimport.py", line 1027, in parse
    parser = GedcomImporterCumulate(parsed)
  File "/home/oriste/webapps/canaan/geneapro/geneaprove/importers/gedcomimport.py", line 993, in __init__
    super(GedcomImporterCumulate, self).__init__(*args, **kwargs)
  File "/home/oriste/webapps/canaan/lib/python2.7/django/db/transaction.py", line 224, in inner
    return func(*args, **kwargs)
  File "/home/oriste/webapps/canaan/geneapro/geneaprove/importers/gedcomimport.py", line 70, in __init__
    self._researcher = self._create_researcher()
  File "/home/oriste/webapps/canaan/geneapro/geneaprove/importers/gedcomimport.py", line 980, in _create_researcher
    return models.Researcher.objects.create(name=subm.NAME.value
  File "/home/oriste/webapps/canaan/geneapro/geneaprove/utils/gedcom.py", line 696, in __getattr__
    return self._all.__getattribute__(name)
  File "/home/oriste/webapps/canaan/geneapro/geneaprove/utils/gedcom.py", line 691, in __getattr__
    obj = self._gedcom.ids[xref]
KeyError: u'@SUB1@'
Done importing (0.775 s)
Run 'ANALYZE;' in the database to optimize it

Removed the SUBM tagged line which referenced @SUB1@

[oriste@web55 geneapro]$ python2.7 manage.py import Canaan.ged
Importing Canaan.ged
Unexpected Exception can only concatenate list (not "unicode") to list
Traceback (most recent call last):
  File "/home/oriste/webapps/canaan/geneapro/geneaprove/importers/gedcomimport.py", line 1027, in parse
    parser = GedcomImporterCumulate(parsed)
  File "/home/oriste/webapps/canaan/geneapro/geneaprove/importers/gedcomimport.py", line 993, in __init__
    super(GedcomImporterCumulate, self).__init__(*args, **kwargs)
  File "/home/oriste/webapps/canaan/lib/python2.7/django/db/transaction.py", line 224, in inner
    return func(*args, **kwargs)
  File "/home/oriste/webapps/canaan/geneapro/geneaprove/importers/gedcomimport.py", line 119, in __init__
    self._create_indi(s)
  File "/home/oriste/webapps/canaan/geneapro/geneaprove/importers/gedcomimport.py", line 922, in _create_indi
    indi=indi)
  File "/home/oriste/webapps/canaan/geneapro/geneaprove/importers/gedcomimport.py", line 582, in _create_characteristic
    for sid, s in self._create_sources_ref(val):
  File "/home/oriste/webapps/canaan/geneapro/geneaprove/importers/gedcomimport.py", line 817, in _create_sources_ref
    abbrev=(sour[1].abbrev or u'') + parts_string,
TypeError: can only concatenate list (not "unicode") to list
Done importing (0.896 s)
Run 'ANALYZE;' in the database to optimize it
[oriste@web55 geneapro]$ 

Now I'm stuck on the concatenation error. Any ideas what I could do to continue? I'm formost interested in testing out the capabilities of Geneaprove. Whatever shortcut/hack that allows me to proceed is fine with me. Thanks again.

briot commented 9 years ago

I imported via de command line version and had to try several times. Apparently I had missed 1 unrecognised tag (_UID inside FAM, although the web interface never mentioned that), then a few lines that were too long, all of which I corrected in the import file; finally some other tag related errors occurred (SUBM @SUB1@ reference). I removed or corrected all offending input lines. Finally I got a

Hello,

I am finally getting back to geneaprove a bit. I am not able to fix the issues you reported since I do not have your GEDCOM file (or rather, as recommended by the importer, an anonymized version of it, though gedcom_anon.py). That would really help.

I have lifted the restriction on the long lines, which most likely was the most painful issue in your import and might have resulted in the errors later on.

I have also validated the UID tag under FAM (geneaprove is intentionally overly restrictive currently -- the GEDCOM standard says that all imported must accept the ... tags, but then it means they would be silently ignored in the actual import and data would be lost, which is not the goal here).

Please let me know if you are still interested in investigating geneaprove, and if it is possible for you to send an anonymized gedcom

thanks Emmanuel=

photis commented 9 years ago

Hi Emmanuel,

Thanks for responding. I had abandoned the project when I didn’t get a reply. At this moment I won’t have the time to pick it up again. I still like it a lot (better than anything else I found out there), but I’m just too tied up with other projects. Hopefully I will be able to revisit it at a later date, I’d love that.

Kindly,

oriste

On 2 Feb, 2015, at 18:00 , Emmanuel Briot <notifications@github.com mailto:notifications@github.com> wrote:

I imported via de command line version and had to try several times. Apparently I had missed 1 unrecognised tag (_UID inside FAM, although the web interface never mentioned that), then a few lines that were too long, all of which I corrected in the import file; finally some other tag related errors occurred (SUBM @SUB1@ reference). I removed or corrected all offending input lines. Finally I got a

Hello,

I am finally getting back to geneaprove a bit. I am not able to fix the issues you reported since I do not have your GEDCOM file (or rather, as recommended by the importer, an anonymized version of it, though gedcom_anon.py). That would really help.

I have lifted the restriction on the long lines, which most likely was the most painful issue in your import and might have resulted in the errors later on.

I have also validated the UID tag under FAM (geneaprove is intentionally overly restrictive currently -- the GEDCOM standard says that all imported must accept the ... tags, but then it means they would be silently ignored in the actual import and data would be lost, which is not the goal here).

Please let me know if you are still interested in investigating geneaprove, and if it is possible for you to send an anonymized gedcom

thanks Emmanuel= — Reply to this email directly or view it on GitHub https://github.com/briot/geneapro/issues/20#issuecomment-72493348.