diff --git a/gramps/plugins/lib/libhtml.py b/gramps/plugins/lib/libhtml.py index 414f263c5..0f613fdf8 100644 --- a/gramps/plugins/lib/libhtml.py +++ b/gramps/plugins/lib/libhtml.py @@ -36,6 +36,7 @@ from __future__ import print_function import re import locale +from gramps.gen.constfunc import STRTYPE """ HTML operations. @@ -331,7 +332,8 @@ class Html(list): :rtype: object reference :returns: reference to object with new value added """ - if isinstance(value, Html) or not hasattr(value, '__iter__'): + if isinstance(value, Html) or (not hasattr(value, '__iter__') and + not isinstance(value, STRTYPE)): value = [value] index = len(self) - (1 if self.close else 0) self[index:index] = value @@ -553,8 +555,9 @@ class Html(list): :param name: new HTML contents """ if len(self) < 2: - raise AttributeError('No closing tag. Cannot set inside value') - if isinstance(value, Html) or not hasattr(value, '__iter__'): + raise AttributeError('No closing tag. Cannot set inside value') + if isinstance(value, Html) or (not hasattr(value, '__iter__') and + not isinstance(value, STRTYPE)): value = [value] self[1:-1] = value # diff --git a/gramps/plugins/webreport/narrativeweb.py b/gramps/plugins/webreport/narrativeweb.py index c698992af..7f7c0de24 100644 --- a/gramps/plugins/webreport/narrativeweb.py +++ b/gramps/plugins/webreport/narrativeweb.py @@ -4102,7 +4102,7 @@ class SourcePages(BasePage): for item in self.report.obj_dict[Source].items(): self.report.user.step_progress() - self.SourcePage(self.report, title, item) + self.SourcePage(self.report, title, item[0]) self.report.user.end_progress()