Commit b4b77ebd by ichuang

minor changes to make error handling of eternalresponse more robust

parent c5ff830c
...@@ -252,9 +252,20 @@ def textbox(element, value, status, render_template, msg=''): ...@@ -252,9 +252,20 @@ def textbox(element, value, status, render_template, msg=''):
try: try:
xhtml = etree.XML(html) xhtml = etree.XML(html)
except Exception as err: except Exception as err:
newmsg = 'error %s in rendering message' % (str(err).replace('<','&lt;')) log.debug('error in textbox BAD HTML is : %s' % html)
newmsg += '<br/>Original message: %s' % msg.replace('<','&lt;') newmsg = 'error %s in rendering message' % (str(err).replace('<','&lt;').replace('>','&gt;').replace(']]','&#93;&#93;'))
newmsg += '<br/>Original message: %s' % msg.replace('<','&lt;').replace('>','&gt;').replace(']]','&#93;&#93;')
context['msg'] = newmsg context['msg'] = newmsg
log.debug('error in textbox: %s' % newmsg)
html = render_template("textbox.html", context)
try:
xhtml = etree.XML(html)
except Exception as err:
log.debug('SECONDARY error in textbox, giving up on status and msg')
newmsg = 'error %s in rendering message' % (str(err).replace('<','&lt;').replace('>','&gt;').replace(']]','&#93;&#93;'))
context['msg'] = newmsg
context['status'] = ''
log.debug('error in textbox: %s' % newmsg)
html = render_template("textbox.html", context) html = render_template("textbox.html", context)
xhtml = etree.XML(html) xhtml = etree.XML(html)
return xhtml return xhtml
......
...@@ -795,7 +795,10 @@ main() ...@@ -795,7 +795,10 @@ main()
try: try:
rxml = etree.fromstring(r.text) # response is XML; prase it rxml = etree.fromstring(r.text) # response is XML; prase it
except Exception as err: except Exception as err:
msg = 'Error %s - cannot parse response from external server r.text=%s' % (err,r.text) etext = r.text
#etext = etext.replace('<![CDATA[','< ![ CDATA [')
etext = etext.replace('<','&lt;').replace('>','&gt;') # escape
msg = 'Error %s - cannot parse response from external server r.text=%s' % (err,etext)
log.error(msg) log.error(msg)
raise Exception(msg) raise Exception(msg)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment