# HG changeset patch # User cmlenz # Date 1173702557 0 # Node ID b9f9a22484f01cabf1cf9bf8591300a61d1ac895 # Parent 5cd03affab4ae05f1f616cc5c77a525964096c15 `HTMLFormFiller` now correctly deals with non-string values in the data dictionary for select/checkbox/radio controls. diff --git a/genshi/filters.py b/genshi/filters.py --- a/genshi/filters.py +++ b/genshi/filters.py @@ -93,12 +93,13 @@ checked = False if isinstance(value, (list, tuple)): if declval: - checked = declval in value + checked = declval in [str(v) for v + in value] else: checked = bool(filter(None, value)) else: if declval: - checked = declval == value + checked = declval == str(value) elif type == 'checkbox': checked = bool(value) if checked: @@ -150,9 +151,10 @@ select_value = None elif in_select and tagname == 'option': if isinstance(select_value, (tuple, list)): - selected = option_value in select_value + selected = option_value in [str(v) for v + in select_value] else: - selected = option_value == select_value + selected = option_value == str(select_value) okind, (tag, attrs), opos = option_start if selected: attrs |= [(QName('selected'), 'selected')]