From e3140b4fce8278755aff7490e0abee8573ac73fb Mon Sep 17 00:00:00 2001 From: Brian Matherly Date: Sun, 20 Apr 2008 03:03:39 +0000 Subject: [PATCH] 0002094: Book report - user enter a multiline text into a custom text block, with quote char svn: r10599 --- src/Utils.py | 2 +- src/plugins/BookReport.py | 42 +++++++++++++++++++++++++++------------ 2 files changed, 30 insertions(+), 14 deletions(-) diff --git a/src/Utils.py b/src/Utils.py index fbe7d4908..31d6d8ab4 100644 --- a/src/Utils.py +++ b/src/Utils.py @@ -941,7 +941,7 @@ def get_type_converter_by_name(val_str): elif val_str == 'float': return float elif val_str == 'bool': - return bool + return cast_to_bool elif val_str in ('str', 'unicode'): return unicode return unicode diff --git a/src/plugins/BookReport.py b/src/plugins/BookReport.py index 140184f04..e899ec9c3 100644 --- a/src/plugins/BookReport.py +++ b/src/plugins/BookReport.py @@ -47,8 +47,10 @@ log = logging.getLogger(".BookReport") #------------------------------------------------------------------------- try: from xml.sax import make_parser, handler, SAXParseException + from xml.sax.saxutils import escape except: from _xmlplus.sax import make_parser, handler, SAXParseException + from _xmlplus.sax.saxutils import escape #------------------------------------------------------------------------- # @@ -458,21 +460,35 @@ class BookList: for item in book.get_item_list(): f.write(' \n' % (item.get_name(),item.get_translated_name() ) ) - option_handler = item.option_class.handler - for option_name in option_handler.options_dict.keys(): - option_value = option_handler.options_dict[option_name] - if type(option_value) in (list, tuple): - f.write(' \n') + options = item.option_class.handler.options_dict + for option_name in options.keys(): + option_value = options[option_name] + if type(option_value) in (type(list()), type(tuple())): + f.write(' \n') else: option_type = Utils.type_name(option_value) - f.write('