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()