Module: check_mk
Branch: master
Commit: c425cf870216e9f448073f32fefe690a94c30f49
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=c425cf870216e9…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Wed Oct 8 09:15:24 2014 +0200
Dashboard: Better exception handling for dashlet rendering
---
web/htdocs/dashboard.py | 78 +++++++++++++++++++++++------------------------
1 file changed, 39 insertions(+), 39 deletions(-)
diff --git a/web/htdocs/dashboard.py b/web/htdocs/dashboard.py
index 81c1610..c75304b 100644
--- a/web/htdocs/dashboard.py
+++ b/web/htdocs/dashboard.py
@@ -482,49 +482,49 @@ def render_dashlet(name, board, nr, dashlet, wato_folder,
add_url_vars):
bg = ""
html.write('<div class="dashlet_inner%s"
id="dashlet_inner_%d">' % (bg, nr))
- # Optional way to render a dynamic iframe URL
- if "iframe_urlfunc" in dashlet_type:
- url = dashlet_type["iframe_urlfunc"](dashlet)
- if url != None:
- dashlet["iframe"] = url
-
- elif "iframe_render" in dashlet_type:
- dashlet["iframe"] = html.makeuri_contextless([
- ('name', name),
- ('id', nr),
- ('mtime', board['mtime'])] + add_url_vars, filename =
"dashboard_dashlet.py")
-
- # The content is rendered only if it is fixed. In the
- # other cases the initial (re)-size will paint the content.
- if "render" in dashlet_type:
- try:
+ try:
+ # Optional way to render a dynamic iframe URL
+ if "iframe_urlfunc" in dashlet_type:
+ url = dashlet_type["iframe_urlfunc"](dashlet)
+ if url != None:
+ dashlet["iframe"] = url
+
+ elif "iframe_render" in dashlet_type:
+ dashlet["iframe"] = html.makeuri_contextless([
+ ('name', name),
+ ('id', nr),
+ ('mtime', board['mtime'])] + add_url_vars, filename =
"dashboard_dashlet.py")
+
+ # The content is rendered only if it is fixed. In the
+ # other cases the initial (re)-size will paint the content.
+ if "render" in dashlet_type:
render_dashlet_content(nr, dashlet)
- except MKUserError, e:
- html.write('Problem while rendering the dashlet: %s' %
html.attrencode(e))
- except Exception, e:
- if config.debug:
- import traceback
- html.write(traceback.format_exc().replace('\n',
'<br>\n'))
- else:
- html.write('Problem while rendering the dashlet: %s' %
html.attrencode(e))
- elif "content" in dashlet: # fixed content
- html.write(dashlet["content"])
+ elif "content" in dashlet: # fixed content
+ html.write(dashlet["content"])
- elif "iframe" in dashlet: # fixed content containing iframe
- if not dashlet.get("reload_on_resize"):
- url = add_wato_folder_to_url(dashlet["iframe"], wato_folder)
+ elif "iframe" in dashlet: # fixed content containing iframe
+ if not dashlet.get("reload_on_resize"):
+ url = add_wato_folder_to_url(dashlet["iframe"], wato_folder)
+ else:
+ url = 'about:blank'
+
+ # Fix of iPad >:-P
+ html.write('<div style="width: 100%; height: 100%;
-webkit-overflow-scrolling:touch; overflow: hidden;">')
+ html.write('<iframe id="dashlet_iframe_%d"
allowTransparency="true" frameborder="0" width="100%%"
'
+ 'height="100%%" src="%s">
</iframe>' % (nr, url))
+ html.write('</div>')
+ if dashlet.get("reload_on_resize"):
+ html.javascript('reload_on_resize["%d"] =
"%s"' %
+ (nr, add_wato_folder_to_url(dashlet["iframe"],
wato_folder)))
+ except MKUserError, e:
+ html.write('Problem while rendering the dashlet: %s' %
html.attrencode(e))
+ except Exception, e:
+ if config.debug:
+ import traceback
+ html.write(traceback.format_exc().replace('\n',
'<br>\n'))
else:
- url = 'about:blank'
-
- # Fix of iPad >:-P
- html.write('<div style="width: 100%; height: 100%;
-webkit-overflow-scrolling:touch; overflow: hidden;">')
- html.write('<iframe id="dashlet_iframe_%d"
allowTransparency="true" frameborder="0" width="100%%"
'
- 'height="100%%" src="%s">
</iframe>' % (nr, url))
- html.write('</div>')
- if dashlet.get("reload_on_resize"):
- html.javascript('reload_on_resize["%d"] = "%s"'
%
- (nr, add_wato_folder_to_url(dashlet["iframe"],
wato_folder)))
+ html.write('Problem while rendering the dashlet: %s' %
html.attrencode(e))
html.write("</div></div>\n")