2075003: ERROR: \_reportdialog.py: line 800: Failed to run report.
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/gramps/gui/plug/report/\_reportdialog.py", line 759, in report
my_report.write_report()
\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~^^
File "/usr/lib/python3/dist-packages/gramps/plugins/webreport/narrativeweb.py", line 597, in write_report
self.statistics_preview_page()
\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~^^
File "/usr/lib/python3/dist-packages/gramps/plugins/webreport/narrativeweb.py", line 1455, in statistics_preview_page
StatisticsPage(self, self.the_lang, self.the_title, step)
\~\~\~\~\~\~\~\~\~\~\~\~\~\~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/gramps/plugins/webreport/statistics.py", line 106, in \__init_\_
chars += os.path.getsize(fullname)
\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~^^^^^^^^^^
File "<frozen genericpath>", line 86, in getsize
UnicodeEncodeError: 'latin-1' codec can't encode character '\\u2022' in position 96: ordinal not in range(256)
Please open a bug report with the exception trace, and if you can, data to reproduce. The issue is that a Unicode character is found where one isn’t expected or handled well. Possibly the file being written to is not opened with Unicode in mind, but that requires investigation to confirm.
To work around the issue look for Unicode u2022 i.e. a bullet character (•) in your data which would show up on the Statistics page, and remove or change it. This might avoid the exception until a fix is put in.
My plan is to open a bug report but wanted to do further investigation in case I had done something stupid or it had already been spotted.
So far have tested a small very clean tree and the report works fine.
Looking at the error it would suggest something to do with a “full name” and “getsize” this of course could be misleading.
So I exported the people view to a .csv and ran “grep” to see if it could find any “bullets” came back clean.
So decided to run “grep -a “•” sqlite” on my database got quite a screen full and I am still working through this but so far none found that reference a full name, mainly referencing Notes and Media Files
Good idea. As long as the character might appear on the Statistics page (since that seems to trigger the exception), it’s a candidate for removal. Doesn’t have to be limited to fullname. Even though you see that in the exception, it’s just a variable name in Python, not necessarily referencing genealogical data. To confirm the context for that, you’d have to look at the source file to see the value it holds.
After several hours and much use of grep can I issue • Bullet warning.
Main culprit myself with copy & paste ably assisted by Family Search,
Ancestry, FindaGrave and Wikipedia.
Located in
Media filenames,
Embedded in Note files,
and as Descriptions in Events
phil