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 @@ -735,7 +735,7 @@ def render(self):
735
735
class GracefulResourceRenderer (ResourceRenderer ):
736
736
"""Resource renderer, which does not fail but logs an exception."""
737
737
738
- def render (self ):
738
+ def render (self , error_callback = None ):
739
739
lines = []
740
740
resources = []
741
741
try :
@@ -747,6 +747,8 @@ def render(self):
747
747
) as e :
748
748
error_message = str (e )
749
749
logger .exception (error_message )
750
+ if error_callback :
751
+ error_callback (error_message )
750
752
751
753
for resource in resources :
752
754
error_message = None
@@ -764,4 +766,6 @@ def render(self):
764
766
error_message
765
767
))
766
768
logger .exception (error_message )
769
+ if error_callback :
770
+ error_callback (error_message )
767
771
return u'\n ' .join (lines )
You can’t perform that action at this time.
0 commit comments