Potential new user here. I have GRAMPS 5.1.5 running on LinuxMint 21.2 with Windows XP running in a virtual machine for my older genealogy software.
I am currently using an old version of TMG(The Master Genealogist). I would like to try switching to GRAMPS. A number of years ago a program was written in Perl to extract the information from a TMG database and put it into an XML file that GRAMPS could import. Having found this program I have done this conversion but for me there are several inadequecies with the way it is done. Specifically I have a great number of people in my databases that have nick names or who are âcalledâ by their second name. The GRAMPS âperson windowâ of course has fields for nick name and called name. The conversion presents this info to GRAMPS and after importing it can be found by digging down for it but the fields do not get populated. Another thing is that in TMG a personâs info is marked âprivateâ by putting a - in front of their given name. This does not get converted from TMG to Gramps.
OK so I created a small fake GRAMPS family tree with people having nick names and called names and with the privacy lock applied. Then I exported it to an XML file so that I could see the syntax used. Then I wrote a program in Python to correct the TMG conversion XML file to have the correct syntax. In order to be able to test this quickly I created a small family in TMG, about 20 people, with a variety of nick names and called names and titles such as Dr. and suffixes like Jr. and marriages and divorces etc.
If I convert that database and then run my program to âfixâ the XML file I get a new XML file that GRAMPS can import with no problem. People who should be private are âlockedâ. People with nick or called names or even both have the appropriate fields populated.
My motherâs family database(about 4700 people) and my fatherâs family database(about 18,000 people) converted to XML files will import into GRAMPS. However if I run my âfixâ program on them GRAMPS will get most of the way through the import and then throws a error. I have tried adding a simple print statement to the GRAMPS import program(importxml.py) to see what kind of response I would get and if I could get more info on what exactly is causing the error. However this causes GRAMPS to cease to recognize that .gramps is a valid file format. I have no idea how adding one line to the program can do that and I am not sure how to proceed further.
Here is the error sequence that GRAMPS is reporting.
77774: ERROR: dbloader.py: line 569: Failed to import database.
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/gramps/gui/dbloader.py", line 555, in do_import
self.import_info = importer(self.dbstate.db, filename,
File "/usr/lib/python3/dist-packages/gramps/plugins/importer/importxml.py", line 149, in importData
info = parser.parse(xml_file, line_cnt, person_cnt)
File "/usr/lib/python3/dist-packages/gramps/plugins/importer/importxml.py", line 936, in parse
self.p.ParseFile(ifile)
File "../Modules/pyexpat.c", line 416, in StartElement
File "/usr/lib/python3/dist-packages/gramps/plugins/importer/importxml.py", line 3139, in startElement
f(attrs)
File "/usr/lib/python3/dist-packages/gramps/plugins/importer/importxml.py", line 1769, in start_last
self.name.group_as = attrs.get('group', '')
AttributeError: 'NoneType' object has no attribute 'group_as'