Skip to content

Commit 8d941f7

Browse files
fix: gracefully handle missing active session on download routes (fixes #415)
1 parent 3ddecdf commit 8d941f7

2 files changed

Lines changed: 10 additions & 0 deletions

File tree

API/Routes/Case/CaseRoute.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,8 @@ def prepareCSV():
433433
def downloadCSV():
434434
try:
435435
casename = session.get('osycase', None)
436+
if casename is None:
437+
return jsonify({'message': 'No active session. Please select a model first.', 'status_code': 'error'}), 400
436438
dataFile = Path(Config.DATA_STORAGE,casename,'export.csv')
437439

438440
dir = Path(Config.DATA_STORAGE,casename)

API/Routes/DataFile/DataFileRoute.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,8 @@ def downloadDataFile():
171171
# return jsonify(response), 200
172172
#path = "/Examples.pdf"
173173
case = session.get('osycase', None)
174+
if case is None:
175+
return jsonify({'message': 'No active session. Please select a model first.', 'status_code': 'error'}), 400
174176
caserunname = request.args.get('caserunname')
175177
dataFile = Path(Config.DATA_STORAGE,case, 'res',caserunname, 'data.txt')
176178
return send_file(dataFile.resolve(), as_attachment=True, max_age=0)
@@ -182,6 +184,8 @@ def downloadDataFile():
182184
def downloadFile():
183185
try:
184186
case = session.get('osycase', None)
187+
if case is None:
188+
return jsonify({'message': 'No active session. Please select a model first.', 'status_code': 'error'}), 400
185189
file = request.args.get('file')
186190
dataFile = Path(Config.DATA_STORAGE,case,'res','csv',file)
187191
return send_file(dataFile.resolve(), as_attachment=True, max_age=0)
@@ -193,6 +197,8 @@ def downloadFile():
193197
def downloadCSVFile():
194198
try:
195199
case = session.get('osycase', None)
200+
if case is None:
201+
return jsonify({'message': 'No active session. Please select a model first.', 'status_code': 'error'}), 400
196202
file = request.args.get('file')
197203
caserunname = request.args.get('caserunname')
198204
dataFile = Path(Config.DATA_STORAGE,case,'res',caserunname,'csv',file)
@@ -205,6 +211,8 @@ def downloadCSVFile():
205211
def downloadResultsFile():
206212
try:
207213
case = session.get('osycase', None)
214+
if case is None:
215+
return jsonify({'message': 'No active session. Please select a model first.', 'status_code': 'error'}), 400
208216
caserunname = request.args.get('caserunname')
209217
dataFile = Path(Config.DATA_STORAGE,case, 'res', caserunname,'results.txt')
210218
return send_file(dataFile.resolve(), as_attachment=True, max_age=0)

0 commit comments

Comments
 (0)