File tree Expand file tree Collapse file tree 2 files changed +10
-1
lines changed Expand file tree Collapse file tree 2 files changed +10
-1
lines changed Original file line number Diff line number Diff line change @@ -4,6 +4,11 @@ Changelog
4
4
1.3 (unreleased)
5
5
----------------
6
6
7
+ - Allow to pass an error_callback for the GracefulResourceRenderer.
8
+ This allows to run some code in an error case, e.g. to add a user-visible
9
+ status message.
10
+ [thet]
11
+
7
12
- Also handle resource resolver errors gracefully in the GracefulResourceRenderer.
8
13
[thet]
9
14
Original file line number Diff line number Diff line change @@ -738,7 +738,7 @@ def render(self):
738
738
class GracefulResourceRenderer (ResourceRenderer ):
739
739
"""Resource renderer, which does not fail but logs an exception."""
740
740
741
- def render (self ):
741
+ def render (self , error_callback = None ):
742
742
lines = []
743
743
resources = []
744
744
try :
@@ -750,6 +750,8 @@ def render(self):
750
750
) as e :
751
751
error_message = str (e )
752
752
logger .exception (error_message )
753
+ if error_callback :
754
+ error_callback (error_message )
753
755
754
756
for resource in resources :
755
757
error_message = None
@@ -767,4 +769,6 @@ def render(self):
767
769
error_message
768
770
))
769
771
logger .exception (error_message )
772
+ if error_callback :
773
+ error_callback (error_message )
770
774
return u'\n ' .join (lines )
You can’t perform that action at this time.
0 commit comments