##// END OF EJS Templates
fix(jupyter): Catching validation error in order to avoid app crash ic case of formatting issues. Fixes: RCCE-26
ilin.s -
r5259:930eac40 default
parent child Browse files
Show More
@@ -538,10 +538,20 b' class MarkupRenderer(object):'
538 body = '\n'.join([header, css, js, body])
538 body = '\n'.join([header, css, js, body])
539 return body, resources
539 return body, resources
540
540
541 # TODO: In the event of a newer jupyter notebook version, consider increasing the as_version parameter
541 captured_errors = {}
542 notebook = nbformat.reads(source, as_version=4)
542 # TODO: In the event of a newer jupyter notebook version, consider increasing the as_version parameter
543 (body, resources) = as_html(notebook)
543 notebook = nbformat.reads(source, as_version=4, capture_validation_error=captured_errors)
544 return body
544 try:
545 (body, resources) = as_html(notebook)
546 except AttributeError:
547 error_messages = '<br>'.join(str(error) for error in captured_errors.values())
548 body = f"""
549 <div style="text-align: center;">
550 <h3>Invalid Notebook!</h3>
551 <p>{error_messages}</p>
552 </div>
553 """
554 return body
545
555
546
556
547 class RstTemplateRenderer(object):
557 class RstTemplateRenderer(object):
General Comments 0
You need to be logged in to leave comments. Login now