Skip to content

Commit 4dbb1f7

Browse files
mikiczhroncok
authored andcommitted
Better error handling for stuff from forks
1 parent 562b201 commit 4dbb1f7

File tree

1 file changed

+21
-6
lines changed

1 file changed

+21
-6
lines changed

naucse/views.py

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,10 @@ def course(course):
300300

301301
try:
302302
data_from_fork = course.render_course(request_url=request.path)
303+
edit_info = links.process_edit_info(data_from_fork.get("edit_info"))
304+
content = data_from_fork.get("content")
305+
if content is None:
306+
raise InvalidInfo("Content of the page can't be None.")
303307
except POSSIBLE_FORK_EXCEPTIONS as e:
304308
if raise_errors_from_forks():
305309
raise
@@ -316,8 +320,8 @@ def course(course):
316320
travis_build_id=os.environ.get("TRAVIS_BUILD_ID"),
317321
)
318322
kwargs = {
319-
"course_content": data_from_fork.get("content"),
320-
"edit_info": links.process_edit_info(data_from_fork.get("edit_info")),
323+
"course_content": content,
324+
"edit_info": edit_info,
321325
}
322326
else:
323327
content = course_content(course)
@@ -724,11 +728,15 @@ def session_coverpage(course, session, coverpage):
724728
try:
725729
data_from_fork = course.render_session_coverpage(session, coverpage, request_url=request.path)
726730

731+
content = data_from_fork.get("content")
732+
if content is None:
733+
raise InvalidInfo("Content of the page can't be None.")
734+
727735
kwargs = {
728736
"course": process_course_data(data_from_fork.get("course"), slug=course.slug),
729737
"session": process_session_data(data_from_fork.get("session"), slug=session),
730738
"edit_info": links.process_edit_info(data_from_fork.get("edit_info")),
731-
"content": data_from_fork["content"]
739+
"content": content
732740
}
733741
except POSSIBLE_FORK_EXCEPTIONS as e:
734742
if raise_errors_from_forks():
@@ -785,6 +793,10 @@ def course_calendar(course):
785793

786794
course = process_course_data(data_from_fork.get("course"), slug=course.slug)
787795
edit_info = links.process_edit_info(data_from_fork.get("edit_info"))
796+
content = data_from_fork.get("content")
797+
798+
if content is None:
799+
raise InvalidInfo("Content of the page can't be None.")
788800
except POSSIBLE_FORK_EXCEPTIONS as e:
789801
if raise_errors_from_forks():
790802
raise
@@ -803,7 +815,7 @@ def course_calendar(course):
803815
kwargs = {
804816
"course": course,
805817
"edit_info": edit_info,
806-
"content": data_from_fork.get("content")
818+
"content": content
807819
}
808820
else:
809821
if not course.start_date:
@@ -854,6 +866,11 @@ def course_calendar_ics(course):
854866

855867
try:
856868
data_from_fork = course.render_calendar_ics(request_url=request.path)
869+
870+
calendar = data_from_fork.get("calendar")
871+
872+
if calendar is None:
873+
raise InvalidInfo("The calendar can't be None.")
857874
except POSSIBLE_FORK_EXCEPTIONS as e:
858875
if raise_errors_from_forks():
859876
raise
@@ -868,8 +885,6 @@ def course_calendar_ics(course):
868885
root_slug=model.meta.slug,
869886
travis_build_id=os.environ.get("TRAVIS_BUILD_ID"),
870887
)
871-
872-
calendar = data_from_fork["calendar"]
873888
else:
874889
try:
875890
calendar = generate_calendar_ics(course)

0 commit comments

Comments
 (0)